Для тестирования SSL-сертификата доступны методы API:
- Базовый доступ https://api.intellectmoney.ru/personal/certificate/getCertificateValidationBaseLevel
- Доступ уровня PCI DSS https://api.intellectmoney.ru/personal/certificate/getCertificateValidationPcidssLevel
При успешном вызове метода вы получите ответ следующего вида:
Пример ответа успешной валидации
{ "OperationState": { "Code": 0, "Desc": "Успешно обработана" }, "OperationId": "e8d24ac5-099b-41ce-a84a-a09b4ad9fe40", "Result": { "State": { "Code": 0, "Desc": "Успешно обработан." }, "Data": "Congratulations! Your certificate is valid. Property value is value" } }
Далее даны примеры кода для вызова этих методов на разных языках.
C#
Пример C#
// Путь до сертификата, скачанного из личного кабинета. string certPath = @"certificate.pfx"; // Пароль от сертификата, заданный в личном кабинете. string certPassword = "Z3nJ#f@85G"; using (X509Certificate2 certificate = new X509Certificate2(certPath, certPassword)) { HttpClientHandler clientHandler = new HttpClientHandler(); clientHandler.SslProtocols = SslProtocols.Tls12 | SslProtocols.Tls13; clientHandler.ClientCertificates.Add(certificate); clientHandler.ClientCertificateOptions = ClientCertificateOption.Manual; var requestParams = new Dictionary<string, string> { // Пример того, как задаются параметров запроса. // Вызывающийся здесь метод getCertificateValidationPcidssLevel не требует параметров, но они используются для вызова других методов API. ["property"] = "value", }; using (var content = new FormUrlEncodedContent(requestParams)) { using (HttpClient client = new HttpClient(clientHandler)) { using (HttpResponseMessage response = client.PostAsync($"https://api.intellectmoney.ru/personal/certificate/getCertificateValidationPcidssLevel", content).Result) { string responseText = response.Content.ReadAsStringAsync().Result; Console.WriteLine(responseText); Console.ReadKey(); } } } }
PHP
Для использования сертификата в PHP его следует конвертировать из формата PFX в формат PEM. Можно использовать утилиту OpenSSL:
openssl pkcs12 -in cert_file.pfx -out cert_file.pem
При выполнении команды OpenSSL запросит пароль. Необходимо указать пароль, заданный в личном кабинете перед скачиванием pfx файла.
Пример PHP
<?php $url = "https://api.intellectmoney.ru/personal/certificate/getCertificateValidationBaseLevel"; $cert_file = 'cert_file.pem'; $cert_password = '1234'; $ch = curl_init(); $options = array( CURLOPT_RETURNTRANSFER => true, CURLOPT_URL => $url, CURLOPT_SSLCERT => $cert_file, CURLOPT_SSLCERTPASSWD => $cert_password, ); curl_setopt_array($ch, $options); $output = curl_exec($ch); if ($output === false) { echo "Curl Error : " . curl_error($ch); } else { echo $output; } ?>