gpt4 book ai didi

ssl - 客户端证书验证与证书固定相结合

转载 作者:太空宇宙 更新时间:2023-11-03 13:24:41 24 4
gpt4 key购买 nike

在使用客户端证书进行身份验证后,是否需要执行证书固定?谁能给我解释一下?

if (challenge.ProtectionSpace.AuthenticationMethod == NSUrlProtectionSpace.AuthenticationMethodClientCertificate)
{
Console.WriteLine("Client Cert!");

var options = NSDictionary.FromObjectAndKey(NSObject.FromObject(This._passphrase), SecImportExport.Passphrase);

NSDictionary[] importResult;

if (This?._certificate == null) return;
if (This?._passphrase == null) return;

var x509Certificate = new X509Certificate(This._certificate, This._passphrase);

SecStatusCode statusCode = SecImportExport.ImportPkcs12(This._certificate, options, out importResult);
var identityHandle = importResult[0][SecImportExport.Identity];
var identity = new SecIdentity(identityHandle.Handle);
var certificate = new SecCertificate(x509Certificate.GetRawCertData());

SecCertificate[] certificates = { certificate };
NSUrlCredential credential = NSUrlCredential.FromIdentityCertificatesPersistance(identity, certificates, NSUrlCredentialPersistence.ForSession);
completionHandler(NSUrlSessionAuthChallengeDisposition.UseCredential, credential);

return;
}

*Logic for SSL Pinning*

由于在“clientcertificate request and client authentication”部分之后有一个return statement,因此永远不会执行证书固定的逻辑,所以我问自己在使用客户端证书执行身份验证后这部分是否过时了。

最佳答案

客户端证书用于根据服务器对客户端进行身份验证,仅此而已。服务器证书用于确保您与正确的服务器通信。

发送客户端证书不能代替正确检查服务器证书。否则,中间人攻击者可以简单地向客户端索取客户端证书,希望客户端接受攻击者伪造的服务器证书作为交换。

关于ssl - 客户端证书验证与证书固定相结合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36696413/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com