我对应该使用哪个感到有些困惑。在Microsoft.AspNetCore.HttpAbstractions
中,我看到ClientCertificate
是ConnectionInfo
的属性,而GetClientCertificateAsync
是ConnectionInfo
的方法。两者都是可公开访问的,我看不到我应该实际使用的任何指南。有没有一种通常比另一种更受青睐?
似乎两者之间没有区别。它们都返回X509Certificate2
。
唯一的区别是您可以await
GetClientCertificateAsync
,因为它返回Task<X509Certificate2>
并且接受取消令牌。(documentation)
var certificate = await HttpContext.Connection.GetClientCertificateAsync();
或
var certificate = await HttpContext.Connection.GetClientCertificateAsync(cancellationToken);