douxie0824
2017-10-03 15:13
浏览 284
已采纳

使用PHP openssl函数获取公钥长度

I'm trying to get php to report the public key length of a certificate as a representation of bits.

e.g. 1024, 2048, 4096 etc.

I've trawled though countless functions on the PHP docs for answers or a steer in the right direction. Cant for the life of me work out a function that will provide this data.

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

openssl_pkey_get_details() seemed like the way to go. But cant find a way to give it the public key in the first place.

Currently i can parse the certificate. However this doesn't include the public key or bits information.

<?php

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

?>

The $cert variable above is a PEM format certificate file. So in the format of

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

图片转代码服务由CSDN问答提供 功能建议

我正在尝试让php报告证书的公钥长度作为位的表示。

例如 1024,2048,4096等。

我已经在PHP文档中搜索了无数函数,以获得答案或指导方向正确。 不能为我的生活找到一个能提供这些数据的函数。

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

openssl_pkey_get_details()似乎是要走的路。 但是无法找到一种方法来首先给它公钥。

目前我可以解析证书。 但是,这不包括公钥或位信息。

 &lt;?php 
 
 $ cert = $ _ POST ['cert_text']; 
 $ ssl  = openssl_x509_parse($ cert); 
echo json_encode($ ssl); 
 
?&gt; 
   
 
 

上面的$ cert变量是PEM格式证书文件 。 所以格式为

  ----- BEGIN CERTIFICATE ----- 
MIIGWTCCBUGgAwIBAgIKG6SqTwACAAAANZANBgkqhkiG ..... etc .. 
 ----- END CERTIFICATE  ----- 
   
 
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题