![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
#1
|
|||
|
|||
Pkcs7 Sign
Gente, buenos días.-
Es mi primera consulta que hago, aunque hace rato que uso el Club como base de ayuda. ![]() Ante todo, les comento que puse esta consulta como Hilo nuevo, ya que lo que encontré buscando no era lo que necesitaba. Paso a comentarles. Estoy renegando hace rato con este tema de la firma digital. ![]() Este caso no tiene que ver con la Factura Electrónica. Cosa que hace tiempo atrás, por suerte, pude resolver. Paso a comentarles. 1)Tengo que realizar un método Post a una pagina Https. 2)Tengo que enviar un token firmado con un certificado y una clave privada. 3)Este token debe ir firmado en formato PKCS7. / En un principio debía ir encriptado y firmado. Ahora solo debe ir firmado. He probado haciendo una firma, como lo hice con la factura electrónica (usando Smime de OpenSSL) pero no sirve, ya que del otro lado no han podido verificar y descifrar los datos. Volví a consultar(a los programadores que mantienen dicha Web, y que por cierto no me dan casi casi nada de info.), y me dijeron que ellos para realizar esta firma lo hacen con la siguiente función de ASP : p7final=PKCS7_Sign(x509,data,0,pkey). Busque, y he visto que en PHP y ASP , esto se puede implementar si problema ya que existe dicha función, pero en Delphi no logro hacerlo. Intente usar las Dll de OpenSSL (libeay32.dll y ssleay32.lib), y unas unit que encontre en una Web (libeay32.pas y OpenSSLUtils.pas). Pero ahi vuelvo a lo mismo, ya que lo que esta realizado obtienen el dato firmado usando SMIME. Aunque SMIME también firme en formato PKCS7, no me esta sirviendo. Estas unidades son lo más parecido que encontré a lo que necesito . Y aunque dentro de dicho código aparece la función, no logro separarla y quedarme con lo que necesito. Paso a copiarle la funcion que esta en "OpenSSLUtils.pas":
Por lo que logro entender esta la función que es similar a la que usan, pero no se como implementarla .
Una vez resuelto esto , luego deberé lidiar con la respuesta del POST, donde debo verificar la firma y descifrar el mensaje. Les pido disculpas sino fui muy claro o realice algo que no corresponde en mi consulta. Desde ya mil gracias! ![]() Sdos.- |
|
|
![]() |
|