我想阅读证书中的密钥用法字段。在openssl中是否有API?
答案 0 :(得分:10)
您可以尝试在openssl中使用以下命令。
openssl x509 -in <certificate to check> -purpose -noout -text
这将打印出证书目的列表和证书本身。
答案 1 :(得分:0)
您需要在结果文件中找到以前的解决方案/输出字符串“Key Usage”。 我得到了以下解决方案,它将密钥用法X509证书中的String完全带来。
openssl s_client -showcerts -connect SERVER_HERE:443 </dev/null 2>/dev/null|openssl x509 -text |grep v "$(grep -E -A1 "Key Usage")"
上面的命令获取证书,解析为文本并找到字符串“Key Usage”并在结果上显示下一行,表示X509上此特定字段的值。
//干杯
答案 2 :(得分:0)
这是使用pyOpenssl检索python中SSL证书密钥用法的方法
答案 3 :(得分:0)
7年后...
较新版本的openssl
使您可以使用-ext
标志查询证书扩展名。
打印密钥用法:
$> openssl x509 -noout -ext keyUsage < test.crt
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
打印扩展密钥用法:
$> openssl x509 -noout -ext extendedKeyUsage < test.crt
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
请注意,如果您想一次打印多个扩展名,则需要用逗号分隔而不是多次使用-ext
标志:
$> openssl x509 -noout \
-ext keyUsage,extendedKeyUsage < test.crt