Открытый ключ SSL разные значения - PullRequest
0 голосов
/ 06 ноября 2018

Я хочу проверить открытый ключ моего SSL-сертификата в моем приложении.

Для этого я обрабатываю ServicePointManager.ServerCertificateValidationCallback, где я использую этот код

private static bool ValidateServerCertficate(object sender, X509Certificate certificate,
        X509Chain chain,
        SslPolicyErrors sslPolicyErrors) 
{
    var myKey = System.Convert.ToBase64String(HexStringToHex(certificate?.GetPublicKeyString()));
    return supportedPublicKey == myKey; 
}

где supportPublicKey - строка, которую я получаю из консоли

openssl s_client -connect gibdd-pay.ru:443 | openssl x509 -pubkey -noout

Проблема заключается в том, что эти два значения различны. Похоже, консоль возвращает мне PublicKeyString с каким-то префиксом. Ключ в консоли выглядит как

MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A + PublicKeyString

Почему это происходит? Как я могу получить этот префикс из моего приложения?

...