簡體   English   中英

使用PHP openssl函數獲取公鑰長度

[英]Using PHP openssl functions to get public key length

我試圖讓php報告證書的公鑰長度作為位的表示形式。

例如1024、2048、4096等。

我在PHP文檔上拖曳了無數函數,以尋求答案或朝着正確的方向發展。 不能為我的生活制定出可以提供此數據的功能。

http://php.net/manual/en/ref.openssl.php

openssl_pkey_get_details()似乎很可行。 但是無法找到一種首先為其提供公鑰的方法。

目前,我可以解析證書。 但是,這不包括公鑰或位信息。

<?php

$cert = $_POST['cert_text'];
$ssl = openssl_x509_parse($cert);
echo json_encode($ssl);

?>

上面的$ cert變量是PEM格式的證書文件。 因此,格式為

-----BEGIN CERTIFICATE-----
MIIGWTCCBUGgAwIBAgIKG6SqTwACAAAANzANBgkqhkiG.....etc..
-----END CERTIFICATE-----

我相信這個http://php.net/manual/en/function.openssl-pkey-get-details.php將解決您的問題

運用

array openssl_pkey_get_details ( resource $key )

返回一個數組,其中包含成功的鍵詳細信息或失敗的錯誤詳細信息。 返回的數組具有索引位(位數),密鑰(公共密鑰的字符串表示形式)和類型(密鑰的類型,該類型為OPENSSL_KEYTYPE_RSA,OPENSSL_KEYTYPE_DSA,OPENSSL_KEYTYPE_DH,OPENSSL_KEYTYPE_EC或-1表示未知)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM