[英]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.