Для тестирования 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;
}
?>
