SSL сертификат
Для тестирования SSL-сертификата доступны методы API:
- Базовый доступ https://api.intellectmoney.ru/personal/certificate/getCertificateValidationBaseLevel.
- Доступ уровня PCI DSS https://api.intellectmoney.ru/personal/certificate/getCertificateValidationPcidssLevel.
При успешном вызове метода вы получите ответ следующего вида:
Далее даны примеры кода для вызова этих методов на разных языках.
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 его следует конвертировать из формата PFX в формат PEM. Можно использовать утилиту OpenSSL:
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;
}
?>