我有乙個證書(.cer),我必須閱讀該證書的基本資訊,例如到期日期.
我用php編寫了這段**
class firmaelectronica {
public function abrircertificado( $path ){
$cert_content = file_get_contents( $path );
$res = openssl_x509_read( $cert_content );
$data = openssl_x509_parse( $res );
var_dump( $data );
$firma = new firmaelectronica();
$firma->abrircertificado('gohl881206rga.cer');
但總是會收到此警告和乙個空資料陣列
php warning: openssl_x509_read(): supplied parameter cannot be coerced into an x509 certificate!
如果執行此命令,我將獲取所有證書資料
openssl x509 -in gohl881206rga.cer -noout -text -inform der
用php獲取證書資料的正確方法是什麼?
解決方法:
include('file/x509.php');
$x509 = new file_x509();
$cert = $x509->loadx509('...');
echo $cert['tbscertificate']['validity']['notbefore'] . "\r\n";
echo $cert['tbscertificate']['validity']['notafter'];
如果這樣不起作用,您可以發布您想要從中獲取此資訊的實際證書嗎?
標籤:ssl,php
PHP檔案加密解
公鑰加密 param string 明文 param string 證書檔案 crt return string 密文 base64編碼 function publickey encodeing sourcestr,filename 私鑰解密 param string 密文 二進位制格式且base6...
在PHP中使用AES加密演算法加密資料及解密資料
這個演算法可以將資料加密後,儲存起來,到需要用的時候,用之前加密的秘鑰將之還原。除了這個之外,還有aes這個演算法能夠將資料很好的加密起來,在傳輸過程中不容易被破解。在php中,我們必須先安裝好mcrypt這個模組,並且新增相應版本的擴充套件到php中。aes加密模式和填充方式有以下之中,但不是全部...
php讀取mysql中文資料出現亂碼的解決方法
1.php頁面語言本身的編碼型別不合適,這時候,你直接在指令碼中寫的中文肯定是亂碼,不用說資料庫了 解決方法 選擇 utf8 或者 gb2312 這樣客戶瀏覽器會自動選擇並出現正確的中文顯示。注意 utf8 或者 gb2312 都程式設計客棧可以正確顯示中文的。2.資料庫mysql中的編碼型別不正確...