0
我已經轉換的公鑰(.CER)和私鑰(.KEY)以PEM格式,但我不得不使用命令行,將它們轉換爲:是否有可能通過只使用PHP openssl函數將.cer和.key文件轉換爲.pem?
$openSSLpath = "c:\OpenSSL-Win64\bin\openssl.exe"; //Path to OpenSSL exe
$path = "c:\appserver\Apache2.2\htdocs\FIEL"; //Path to Project Folder
$rutaCer = $path.'\GAMA600504JP1.cer';
$rutaKey = $path.'\GAMA600504JP1.key';
$passwordKey = '12345678a';
$cmdKey = $openSSLpath." pkcs8 -inform DER -in ".$rutaKey." -passin pass:".$passwordKey." -out ".$rutaKey.".pem";
exec($cmdKey);
$cmdCer = $openSSLpath." x509 -inform DER -outform PEM -in ".$rutaCer." -pubkey -out ".$rutaCer.".pem";
exec($cmdCer);
這正確生成的.PEM文件,但我需要知道是否有可能通過任何其他方式使用PHP來做到這一點。請注意,我對openSSL完全陌生,這是我在PHP上發現的唯一方法。
爲此,我必須確保OpenSSL的位置正確並安裝在我的服務器上,並且爲了轉換爲.pem,我必須將.cer和.key文件臨時保存在服務器中由於安全原因。
有沒有其他辦法?
嗨kba,當我使用你的代碼時,我得到一個從OpenSSL – EfraimPC
得到的完全不同的pem文件有什麼區別?在base64字符串或標題(BEGIN,END)?你使用什麼命令來生成.cer和.key文件?如果我不知道文件中究竟有什麼內容或openssl命令的輸出有什麼不同,我無法幫助您。 – kba