For those who need it...this assumes you have followed the procedures advised by BF to create your certs, and you have created a.p12 certificate.
Code:
Public Function NonInteractiveSessToken(strUserName As String, strPassword As String) As String
Dim postData As String = "username=" & strUserName & "&password=" & strPassword
Dim request As HttpWebRequest = WebRequest.Create("https://identitysso-cert.betfair.com/api/certlogin")
Dim oBFLoginResponse As New GrantClass.clBFNonIntResponse
Try
Dim cert As New X509Certificate2("C:\PathToCert\client-2048.p12", "")
request.Method = "POST"
request.ContentType = "application/x-www-form-urlencoded"
request.Headers.Add("X-Application: YourBotName")
request.ClientCertificates.Add(cert)
request.Accept = "application/json"
Using dataStream As Stream = request.GetRequestStream()
Using writer As New StreamWriter(dataStream, Encoding.[Default])
writer.Write(postData)
End Using
End Using
Using stream As Stream = DirectCast(request.GetResponse(), HttpWebResponse).GetResponseStream()
Using reader As New StreamReader(stream, Encoding.[Default])
Dim strResponse As String = reader.ReadToEnd()
oBFLoginResponse = JsonConvert.DeserializeObject(Of GrantClass.clBFNonIntResponse)(strResponse)
End Using
End Using
Catch ex As System.Exception
MsgBox("Exception " & ex.Message)
End Try
Return oBFLoginResponse.sessionToken
End Function
Public Class clBFNonIntResponse
Public Property sessionToken As String
Public Property loginStatus As String
End Class

