reemplazar la dll chilkat para vb.net 4.0
Publicado: Mar Oct 01, 2013 7:48 pm
Hola a todos.
Instale y heche a funcionar el ejemplo de jerjerryeagle en este foro lo cual me aclaro grandes cosas y genere el xml firmado sin problemas.
Como este ejemplo esta tomando la dll chilkatdotnet45 estoy tratando de quitarla del proyecto.
Como opcion encontre e instale y heche a funcionar tambien el archivo openSSl.cs el cual tambien me funciono.
Pero para mas especificos:
Pude encontrar sin problemas el serial del certificado.
Estoy usando los certificados de prueba del SAT (CSD010_AAA010101AAA)
La documentacion del ejemplo es : "'Agrega Certificado y No.Certificado al XML"
Ahora el problema esta en que la chilkat tiene un metodo: cert.GetEncoded, cert es un objeto certificado de la propia dll y que se genera luego de pasarle como parametro la ruta del certificado .cer Segun entiendo la cadena abajo pegada es la representacion del certificado.
* Pero no tengo idea de que hace este metodo.
* Habra algo que se pueda hacer para evitar este paso ?
* Por otro lado no tengo claro el concepto, porque segun yo para firmar un documento se necesita una llave privada y como al objeto de la dll solamente le estoy pasando la ruta del certificado que no tiene la llave privada no veo como esto pueda ser una firma.
Tampoco puede ser HASH por el tamaño.
Si alguien tiene algun pista se lo agradezco.
Me genera una cadena que pongo como referencia :
MIIEYTCCA0mgAwIBAgIUMjAwMDEwMDAwMDAyMDAwMDE0MzcwDQYJKoZIhvcNAQEF
BQAwggFcMRowGAYDVQQDDBFBLkMuIDIgZGUgcHJ1ZWJhczEvMC0GA1UECgwmU2Vy
dmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0Fk
bWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMSkw
JwYJKoZIhvcNAQkBFhphc2lzbmV0QHBydWViYXMuc2F0LmdvYi5teDEmMCQGA1UE
CQwdQXYuIEhpZGFsZ28gNzcsIENvbC4gR3VlcnJlcm8xDjAMBgNVBBEMBTA2MzAw
MQswCQYDVQQGEwJNWDEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDESMBAGA1UE
BwwJQ295b2Fjw6FuMTQwMgYJKoZIhvcNAQkCDCVSZXNwb25zYWJsZTogQXJhY2Vs
aSBHYW5kYXJhIEJhdXRpc3RhMB4XDTEzMDUwNzE3NDAwN1oXDTE3MDUwNzE3NDAw
N1owgdsxKTAnBgNVBAMTIEFDQ0VNIFNFUlZJQ0lPUyBFTVBSRVNBUklBTEVTIFND
MSkwJwYDVQQpEyBBQ0NFTSBTRVJWSUNJT1MgRU1QUkVTQVJJQUxFUyBTQzEpMCcG
A1UEChMgQUNDRU0gU0VSVklDSU9TIEVNUFJFU0FSSUFMRVMgU0MxJTAjBgNVBC0T
HEFBQTAxMDEwMUFBQSAvIEhFR1Q3NjEwMDM0UzIxHjAcBgNVBAUTFSAvIEhFR1Q3
NjEwMDNNREZOU1IwODERMA8GA1UECxMIcHJvZHVjdG8wgZ8wDQYJKoZIhvcNAQEB
BQADgY0AMIGJAoGBAJ4COACtDKzGDv9V0W3LN508rc2eICyi5g3SsGrJE1Z49cJn
gFuR6DgXWUO85Tu/NG3r4aXOvZs6bGG6dEG7Dcb1aC5dkF+yI6PlHKsiTk5ntJ/a
ETA/rckVyb9cmeCh4Mqfo0OGxMmsEzxUl7qm3onv2ldmk6pJmSIQGTHzMZYbAgMB
AAGjHTAbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMA0GCSqGSIb3DQEBBQUA
A4IBAQDWG+0Soy5vxmclDKOrvyHjAbQGk4BPynbCjOWeFZ5s7HOpw6TSSe56R33n
/ZO2CvC4/ICwrNgl+drycfU5ZA5d3TflsO9jgTBsDSq5LDJ9h062IadD8o4Mg5BT
b1C2FAiMD16DHwxVgYZvk2wmXQ0mrxLoMu2wiBpbvwoXJlOiociUxXQtlukmjzme
Tovu1XTDd50gbztYBHIdjOpAjXmmytwrwNGmWG+D3Jfjhtydy1GSOTtN+hGElYg7
1vLNFekJyEkc4pkWORG0xmwRf/rnoSFjHyk/5duRUth6GEvQEfwAlZIn7rsttGzu
bLO9QY5BM6P3km98mPt7NnV/SSxo
Instale y heche a funcionar el ejemplo de jerjerryeagle en este foro lo cual me aclaro grandes cosas y genere el xml firmado sin problemas.
Como este ejemplo esta tomando la dll chilkatdotnet45 estoy tratando de quitarla del proyecto.
Como opcion encontre e instale y heche a funcionar tambien el archivo openSSl.cs el cual tambien me funciono.
Pero para mas especificos:
Pude encontrar sin problemas el serial del certificado.
Estoy usando los certificados de prueba del SAT (CSD010_AAA010101AAA)
La documentacion del ejemplo es : "'Agrega Certificado y No.Certificado al XML"
Ahora el problema esta en que la chilkat tiene un metodo: cert.GetEncoded, cert es un objeto certificado de la propia dll y que se genera luego de pasarle como parametro la ruta del certificado .cer Segun entiendo la cadena abajo pegada es la representacion del certificado.
* Pero no tengo idea de que hace este metodo.
* Habra algo que se pueda hacer para evitar este paso ?
* Por otro lado no tengo claro el concepto, porque segun yo para firmar un documento se necesita una llave privada y como al objeto de la dll solamente le estoy pasando la ruta del certificado que no tiene la llave privada no veo como esto pueda ser una firma.
Tampoco puede ser HASH por el tamaño.
Si alguien tiene algun pista se lo agradezco.
Me genera una cadena que pongo como referencia :
MIIEYTCCA0mgAwIBAgIUMjAwMDEwMDAwMDAyMDAwMDE0MzcwDQYJKoZIhvcNAQEF
BQAwggFcMRowGAYDVQQDDBFBLkMuIDIgZGUgcHJ1ZWJhczEvMC0GA1UECgwmU2Vy
dmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0Fk
bWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMSkw
JwYJKoZIhvcNAQkBFhphc2lzbmV0QHBydWViYXMuc2F0LmdvYi5teDEmMCQGA1UE
CQwdQXYuIEhpZGFsZ28gNzcsIENvbC4gR3VlcnJlcm8xDjAMBgNVBBEMBTA2MzAw
MQswCQYDVQQGEwJNWDEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDESMBAGA1UE
BwwJQ295b2Fjw6FuMTQwMgYJKoZIhvcNAQkCDCVSZXNwb25zYWJsZTogQXJhY2Vs
aSBHYW5kYXJhIEJhdXRpc3RhMB4XDTEzMDUwNzE3NDAwN1oXDTE3MDUwNzE3NDAw
N1owgdsxKTAnBgNVBAMTIEFDQ0VNIFNFUlZJQ0lPUyBFTVBSRVNBUklBTEVTIFND
MSkwJwYDVQQpEyBBQ0NFTSBTRVJWSUNJT1MgRU1QUkVTQVJJQUxFUyBTQzEpMCcG
A1UEChMgQUNDRU0gU0VSVklDSU9TIEVNUFJFU0FSSUFMRVMgU0MxJTAjBgNVBC0T
HEFBQTAxMDEwMUFBQSAvIEhFR1Q3NjEwMDM0UzIxHjAcBgNVBAUTFSAvIEhFR1Q3
NjEwMDNNREZOU1IwODERMA8GA1UECxMIcHJvZHVjdG8wgZ8wDQYJKoZIhvcNAQEB
BQADgY0AMIGJAoGBAJ4COACtDKzGDv9V0W3LN508rc2eICyi5g3SsGrJE1Z49cJn
gFuR6DgXWUO85Tu/NG3r4aXOvZs6bGG6dEG7Dcb1aC5dkF+yI6PlHKsiTk5ntJ/a
ETA/rckVyb9cmeCh4Mqfo0OGxMmsEzxUl7qm3onv2ldmk6pJmSIQGTHzMZYbAgMB
AAGjHTAbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMA0GCSqGSIb3DQEBBQUA
A4IBAQDWG+0Soy5vxmclDKOrvyHjAbQGk4BPynbCjOWeFZ5s7HOpw6TSSe56R33n
/ZO2CvC4/ICwrNgl+drycfU5ZA5d3TflsO9jgTBsDSq5LDJ9h062IadD8o4Mg5BT
b1C2FAiMD16DHwxVgYZvk2wmXQ0mrxLoMu2wiBpbvwoXJlOiociUxXQtlukmjzme
Tovu1XTDd50gbztYBHIdjOpAjXmmytwrwNGmWG+D3Jfjhtydy1GSOTtN+hGElYg7
1vLNFekJyEkc4pkWORG0xmwRf/rnoSFjHyk/5duRUth6GEvQEfwAlZIn7rsttGzu
bLO9QY5BM6P3km98mPt7NnV/SSxo