Ver Mensaje Individual
  #35 (permalink)  
Antiguo 09/07/2010, 20:19
RJDIAZC
 
Fecha de Ingreso: julio-2010
Mensajes: 1
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

[QUOTE=thebman;3448237]Alguien sabe como obtener el numero de certificado del archivo .cer


Que tal thebman, gracias por tus aportes, tengo el siguiente codigo con el cual puedes sacar el no. del certificado y algunos datos mas.

Dim objCert As New X509Certificate2("D:\facturacionelectronica\aaa010 101aaa_CSD_01.cer")
Dim objExt As X509Extension
Dim objSB As StringBuilder = New StringBuilder("Detalle del certificado:")
Console.WriteLine("Persona = " + objCert.Subject)
Console.WriteLine("Emisor = " + objCert.Issuer)
Console.WriteLine("Válido desde = " + objCert.NotBefore.ToString())
Console.WriteLine("Válido hasta = " + objCert.NotAfter.ToString())
Console.WriteLine("Tamaño de la clave = " + objCert.PublicKey.Key.KeySize.ToString())
Console.WriteLine("Número de serie = " + objCert.SerialNumber)
Console.WriteLine("Hash = " + objCert.Thumbprint)
Console.WriteLine("Extensiones:")
For Each objExt In objCert.Extensions
Console.WriteLine(objExt.Oid.FriendlyName & " (" & objExt.Oid.Value & ")")
If (objExt.Oid.FriendlyName = "Key Usage") Then
Dim ext As X509KeyUsageExtension = objExt
Console.WriteLine(" " + ext.KeyUsages)
End If
If (objExt.Oid.FriendlyName = "Basic Constraints") Then
Dim ext2 As X509BasicConstraintsExtension = objExt
Console.WriteLine(" " + ext2.CertificateAuthority)
Console.WriteLine(" " + ext2.HasPathLengthConstraint)
Console.WriteLine(" " + ext2.PathLengthConstraint)

End If
If (objExt.Oid.FriendlyName = "Subject Key Identifier") Then
Dim ext3 As X509SubjectKeyIdentifierExtension = objExt
Console.WriteLine(" " + ext3.SubjectKeyIdentifier)

End If
If (objExt.Oid.FriendlyName = "Enhanced Key Usage") Then '//2.5.29.37
Dim ext4 As X509EnhancedKeyUsageExtension = objExt
Dim objOids As OidCollection = ext4.EnhancedKeyUsages
For Each Oid In objOids
Console.WriteLine(" " & Oid.FriendlyName & " (" + Oid.Value & ")")
Next

End If
Next
Console.WriteLine(objSB.ToString())
Console.ReadKey()

El numero del certificado es "Número de serie" pero esta en codigo hexadecimal, lo que necesito investigar es como pasarlo a decimal, ya que es un string.