Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/11/2010, 09:46
Zafer
 
Fecha de Ingreso: abril-2007
Mensajes: 63
Antigüedad: 16 años, 11 meses
Puntos: 0
cosumir web services en sitio ssl con certificado

Saludos a todos.

Quisiera que por favor me ayuden con el siguiente problema. Necesito conectarma a un webservices que esta dentro de un sitio seguro y autenticar un certificado digital.
He logrado encontrar el certificado digital en el almacen de certificados de windows y asignarlo a una variable, tambien encontre la forma como conectarme al we services y pasar el filtro que sale cuando un pagina no reconoce el certificado digital, lo que no he logrado es enviar el certificado hacia el sitio para que me deje autenticar y siempre sale el mensaje certificado no valido. envio copia de mi código para que puedan ver que es lo que estoy haciendo. y me den una luz

Para pasar la excepcion que pasa cuando Host SSL se autentica con certificado. use dos opciones y las con el mismo resultado.

desde el web.config
<system.net>
<settings>
<servicePointManager checkCertificateName="false" checkCertificateRevocationList="false" />
</settings>

por cogido

Imports Microsoft.VisualBasic
Imports System.Net
Imports System.Security.Cryptography.X509Certificates

Public Class MyPolicy
Implements ICertificatePolicy

Public Function CheckValidationResult(ByVal srvPoint As ServicePoint, _
ByVal cert As X509Certificate, _
ByVal request As WebRequest, _
ByVal certificateProblem As Integer) _
As Boolean Implements ICertificatePolicy.CheckValidationResult
'Return True to force the certificate to be accepted.
Return True
End Function

End Class


El código que estoy usando para encontrar el certificado es:

Function ObtenerCertificado(ByVal SubjectAs String) As X509Certificate

Dim store As X509Store = New X509Store(StoreLocation.LocalMachine)
store.Open(OpenFlags.ReadOnly)
Dim certCollection As X509CertificateCollection = store.Certificates

For Each c As X509Certificate In certCollection
If c.Subject.ToString.Trim.ToUpper = Subject.ToString.Trim.ToUpper Then
Return c
End If
certificados = certificados + c.Subject.ToString + "!!!"
Next
Return Nothing
End Function

pero no se como vincularlos a los dos.

De antemano le agradezco a todos,