Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/12/2010, 09:04
zagatho4ever
 
Fecha de Ingreso: diciembre-2010
Ubicación: San Luis Potosí
Mensajes: 3
Antigüedad: 13 años, 4 meses
Puntos: 0
Exclamación Clave privada y RSACryptoServiceProvider

Hola

Estoy tratando de hacer un programa para la facturacion electrónica pero no sé como jalar el archivo ".key" (aaa010101aaa_csd_01.key) y su pasword (a0123456789).

Dim Certificate As String = IO.Path.Combine(My.Application.Info.DirectoryPath, "aaa010101aaa_csd_01.key")
Dim rightsForall As CryptoKeyRights
rightsForall = CryptoKeyRights.FullControl

Dim readFile As System.IO.TextReader = New StreamReader(Certificate)
Dim aux As String
aux = readFile.ReadToEnd()
readFile.Close()
Dim rule As New CryptoKeyAccessRule(aux, CryptoKeyRights.FullControl, AccessControlType.Allow)

Según he visto se usa lo sieguiente:
1. Se definen los parámetros del generador de la encrypción
Dim cp As New CspParameters()
cp.KeyContainerName = "MyKeyContainerName"
cp.KeyPassword = pwd
cp.KeyNumber = 2
cp.CryptoKeySecurity = New CryptoKeySecurity()
cp.CryptoKeySecurity.AddAccessRule(rule)

2. Se define el algoritmo de encripción pasándole los parámetros definidos
Dim rsa As New RSACryptoServiceProvider(cp)

3. Se crea el sello con el algoritmo SHA1
Dim sig As Byte() = rsa.SignData(dataToEncrypt, "SHA1")


El PROBLEMA es que no puedo obtener la llave privada del arhivo ".key" de la forma correcta
Alguien sabe cuáles son los pasos correctos?

Saludos y gracias