我正在使用 trustico.com reseller api 来处理 ssl 证书。但有趣的是,我找不到任何工具来解析 CSR 代码以获取批准者电子邮件列表。tructico api 中只有一个工具需要域名来获取列表。
我的问题是有什么工具可以在 PHP 中解析 CSR 代码以获取相关域名?还是 trustico api 让我有机会获得它?
提前致谢
编辑:(我不能把它写成一个回答,所以我编辑我的问题)
我又进行了一次搜索,发现了这个在线 csr 验证工具:
https://secure.comodo.net/utilities/decodeCSR.html
它还为您提供了一个 api,您可以在本地进行查询。文档在这里:
https://secure.comodo.net/api/pdf/DecodeCSR%20v1.06.pdf
为了获得域名,我为自己编写了它。如果给定的 csr 代码是正确的,则代码返回完整域,如果不是,则代码返回“1”。我希望它可以帮助需要的人:
function ssl_getCN($csr) {
$api_url = "http://secure.comodo.net/products/!DecodeCSR";
$fields = array('csr' =>$csr,
'showCN'=>'Y',
'showErrorCodes'=>'N',
'showErrorMessages'=>'N',
'showFieldNames'=>'N',
'showEmptyFields'=>'N',
'showEmptyFields'=>'N',
'showAddress'=>'N',
'showPublicKey'=>'N',
'showKeySize'=>'N',
'showSANDNSNames'=>'N',
'showCS'=>'N'
);
// URL Encode Values
$query_string = http_build_query($fields);
// Initiate CURL POST call
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $api_url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_TIMEOUT, 120);
curl_setopt ($ch, CURLOPT_POST,count($fields));
curl_setopt ($ch, CURLOPT_POSTFIELDS,$query_string);
$result = curl_exec ($ch);
curl_close($ch);
return $result;
}