Для тестирования SSL-сертификата доступны методы API:

При успешном вызове метода вы получите ответ следующего вида:

Пример ответа успешной валидации
{
  "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;
	}
?>
  • No labels