如何解决如何在 rfc6960 的第 3.2 节中实施模糊的 OCSP 签名响应接受要求
我目前正在用 C# 实现一个内部 OCSP 响应器,并想为响应创建一个验证器类,但需要一些说明
- 收到的响应中标识的证书对应于 在相应请求中标识的证书;
有问题的证书是请求试图查找其状态的证书吗?还是整个请求/响应的链对象中的一个?我应该比较请求和响应之间的哪些信息以确保它们匹配?
我目前正在检查单个请求中的 CertificateID 是否与单个响应列表中的任何 CertificateID 匹配
public static bool CertificateMatch(OcspSingleRequest singleRequest,OcspResponse response) =>
response.Responses.Any(x => x.GetCertID().Equals(singleRequest.GetCertID()));
- 响应上的签名有效
对基本响应执行 .Verify(IssuerCertificate)
是否足以满足此标准?
- 签名者的身份与请求的预期接收者相匹配
将响应响应者 ID Name
和 KeyHash
与传入的 expectedResponderCertificate
SubjectDN
匹配并计算 publicKeyHash
是否足以验证这一点?
if ((responderID.Name != expectedResponderCertificate.SubjectDN) &&
(responderID.KeyHash != expectedResponderKeyHash))
{
return false;
}
return true;
- 签名者目前被授权为相关证书提供回复
我认为唯一的方法是直接联系 CA,或者如果它没有过期就信任它
感谢您提供任何见解。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。