Мой прецедент: Я получаю письма от различных контрагентов, и они всегда подписаны. Я получил свой сертификат до начала нашего общения, поэтому у меня есть сертификат CORRECT.Сравнение bouncycastle x509 с x509certificate2
Мне нужно проверить сертификат, который они отправляют мне первоначально, с сертификатом, который они используют при отправке подписанного письма мне.
Я просмотрел StackOverflow и на других форумах, и все они, кажется, предлагают или «отпечаток GetEncoded» (который так же, как DEREncoded ?!)
Однако я не смог найти «официальный источник» что это правильно.
Так что мне нужен официальный источник, подтверждающий, что X509Certificate2.GetRawCertData ИЛИ Org.BouncyCastle.X509.X509Certificate уникальны и поэтому могут быть сопоставлены для проверки правильного сертификата.
По официальному источнику я имею в виду книги, стандарты, веб-сайт Microsoft или тому подобное.
Это код, я использую, чтобы верифицировать Org.BouncyCastle.X509.X509Certificate с System.Security.Cryptography.X509Certificates.X509Certificate2:
Org.BouncyCastle.X509.X509Certificate signerCertificate = ((SecureMimeDigitalCertificate)signature.SignerCertificate).Certificate;
System.Security.Cryptography.X509Certificates.X509Certificate2 localCertificate = new X509Certificate2(@"xxx.crt");
bool areEqual =
StructuralComparisons.StructuralEqualityComparer.Equals(signerCertificate.GetEncoded(),
localCertificate.GetRawCertData());
Можете ли вы помочь мне найти такой источник или пункт в правильном направлении?
Привет primetomas. Помимо проверки подписи, мне также интересно узнать, использует ли отправитель другой сертификат, чем тот, который я ожидаю. Вот почему мне нужно их сравнивать. –