最近做銀聯手機充值的一套東西,客戶端伺服器端一起做,好累呀。對方給了兩個 證書,a.p12 和 b.cer。a.p12中的私鑰很容易可以得到,但是b.cer中的公鑰卻怎麼都拿不到,害我查了大半天。。。
原來 .p12中也有公鑰。。。。
從p12中取金鑰:
[css]view plain
copy
$p12
cert = array();
$file = "cert/a.p12"
; $fd = fopen($file, 'r'
);
$p12
buf = fread($fd, filesize($file));
fclose($fd);
openssl_pkcs12
_read($p
12buf, $p
12cert, password) ;
然後取就可以了。。
說說從a.cer中取公鑰,這還是同事幫忙查到的。
其實就是做了一下編碼轉換而已。。。。
cer證書是二進位制編碼的,所以獲取到它的內容後做次轉碼就可以啦。
cer證書由p12匯出(只不過cer是二進位制,p12是base64,可以網上查der(二進位制)轉pem(base64)),匯出命令:
keytool -export -alias p12client -keystore dlt.p12 -storetype pkcs12 -storepass 密碼 -rfc -file p12.cer
讀取cer公鑰如下所示:
[css]view plain
copy
function pem
2der($pem_data)
function der2
pem($der_data)
$file = "898000000000001.cer"
; $fd = fopen($file, 'r'
);
$p12
buf = fread($fd, filesize($file));
var_dump(der2
pem($p
12buf));-----------------------:這裡呼叫 der
2pem 、pem
2der 都可以,兩種方式。
明天還要加油幹活!
p12解析流程 解析P12證書 學步園
1.從磁碟上的證書檔案中讀取證書資料 unsigned char pbp12data 證書資料 unsigned long ulp12datalen 證書資料長度 2.讓使用者輸入證書密碼 char szpwd 證書密碼 3.將證書密碼轉換成unicode格式 最好採用二次呼叫方式 lpwstr p...
關於pfx證書和cer證書
pfx證書,同時包含了公鑰 資訊和私鑰資訊 cer證書 只包含公鑰資訊 客戶端與 通訊時 需要用到 私鑰 基本所有需要數字證書的 都 會用到私鑰 則cer證書是無法 正常訪問 的,會提示 該頁要求客戶證書 由於cer證書只包含公鑰資訊,一般只能用於解密使用 解密該公鑰對應的私鑰加密的資料 pfx證書...
IOS push對應的p12證書製作方法
1.用鑰匙串生成乙個certificatesigningrequest.certsigningrequest檔案 3.雙擊ssl對應的證書 如 aps development.cer 4.再鑰匙串中展開aps development.cer安裝後的證書,匯出其中的專用金鑰 匯出格式為p12 open...