Unity 6.3
0 онлайн 49 гостей 3 в системе
Вход

CertificateHandler.ValidateCertificate

Declaration

protected bool ValidateCertificate(byte[] certificateData);

Параметры

Параметр Описание
certificateData Данные сертификата в формате PEM или DER. Если данные сертификата содержат несколько сертификатов, первый из них является сертификатом листа.

Возвращаемое значение

логическое true если сертификат должен быть принят, false если нет.

Описание

Обратный вызов, вызываемый для каждого листового сертификата, отправленного удаленным сервером.

Переопределите это значение, чтобы реализовать настраиваемую схему проверки сертификатов.

using UnityEngine.Networking;
using System.Security.Cryptography.X509Certificates;

// Based on https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning#.Net class AcceptAllCertificatesSignedWithASpecificKeyPublicKey : CertificateHandler { // Encoded RSAPublicKey private static string PUB_KEY = "30818902818100C4A06B7B52F8D17DC1CCB47362" + "C64AB799AAE19E245A7559E9CEEC7D8AA4DF07CB0B21FDFD763C63A313A668FE9D764E" + "D913C51A676788DB62AF624F422C2F112C1316922AA5D37823CD9F43D1FC54513D14B2" + "9E36991F08A042C42EAAEEE5FE8E2CB10167174A359CEBF6FACC2C9CA933AD403137EE" + "2C3F4CBED9460129C72B0203010001";

protected override bool ValidateCertificate(byte[] certificateData) { X509Certificate2 certificate = new X509Certificate2(certificateData); string pk = certificate.GetPublicKeyString(); if (pk.Equals(PUB_KEY)) return true;

// Bad dog return false; } }