The answer is here: How can you add a Certificate to WebClient (C#)?
Converted to VB (untested):
Public Class MyWebClient
Inherits WebClient
Protected Overrides Function GetWebRequest(ByVal address As System.Uri) As System.Net.WebRequest
Dim R = MyBase.GetWebRequest(address)
If TypeOf R Is HttpWebRequest Then
With DirectCast(R, HttpWebRequest)
.ClientCertificates.Add(new X509Certificate())
End With
End If
Return R
End Function
End Class