我想用PHP使用OpenSSL對XML文件進行數字簽名,到目前爲止,我可以生成一個包含我需要的所有信息的XML,並且我有一個簽名和驗證簽名的工作演示(聲明私有和公鑰作爲字符串)。我有一個.cer文件和一個.key文件,這些文件是我想用來簽署XML文件的文件。我怎樣才能做到這一點? 目標是最終用戶只需上傳這些證書並下載已簽名的XML。(約今一些具體的文檔不勝感激)PHP數字簽名
編輯:好吧,我現在熟悉了OpenSSL和它的功能,但我仍然需要知道如何做包括這在PHP中:
openssl pkcs8 -inform DER -in c:/route/myfile.key -passin pass:contraseña -out c:/route/myfile.pem
要這樣:
$data = "||2.0|ABCD|2|03-05-2010T14:11:36|49|2008|INGRESO|UNA SOLA EXHIBICIÓN|2000.00|00.00|2320.00|PAMC660606ER9|CONTRIBUYENTE PRUEBASEIS PATERNOSEIS MATERNOSEIS|PRUEBA SEIS|6|6|PUEBLA CENTRO|PUEBLA|PUEBLA|PUEBLA||MÉXICO|72000|CAUR390312S87|ROSA MARÍA CÁLDERON URIEGAS|TOPOCHICO|52|JARDINES DEL VALLE|NUEVO LEÓN|MEXICO|95465|1.00|SERVICIO|01|ASESORIA FISCAL Y ADMINISTRATIVA|2000.00|IVA|16.00|320.00|| ";
$priv_key_id=openssl_get_privatekey("file://C:\files\Clavepr.key.pem");
$public_key_id=openssl_get_publickey("file://C:\files\cert.cer.pem");
$o=openssl_sign($data,$cadenafirmada, $priv_key_id,OPENSSL_ALGO_SHA1);
$sello=base64_encode($cadenafirmada);
var_dump($sello);
向我們展示您的代碼... – jcaron
@jcaron更新了我的文章 – Carlos