Разобрать / проверить код CSR - PullRequest
1 голос
/ 16 октября 2011

Я использую API реселлера trustico.com для обработки ssl-сертификатов.Но что интересно, я не смог найти какой-либо инструмент для разбора кода CSR для получения списка адресов утверждающих.В tructico api есть только один инструмент, который требует доменное имя для получения списка.

У меня есть вопрос, есть ли какой-нибудь инструмент для анализа кода CSR в PHP для получения связанного доменного имени?или trustico api дает мне шанс получить его?

Заранее спасибо

edit: (я могу написать это как aswer, поэтому я редактирую свой вопрос)

Я делаю еще один поиск и нахожу этот онлайн-инструмент проверки 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;

}
...