我找到了以下方案来使用自定义Root CA来保护企业软件的各个部分。这是做正确的事吗?有这样的方法有问题吗?
酋长:
问题:
答案 0 :(得分:1)
假设正确配置了OCSP:
1)撤销应存储在Validation Authority数据库中,并根据请求确认。 OCSP响应者将知道证书B的撤销。客户应该询问。
2)我不知道互联网连接,但证书提供验证机构URL来验证证书,或者客户端已经配置了证书。 如果这样的URL是互联网,答案是肯定的。
3)我认为不是,毕竟证书可能会受到损害。也就是说,如果您使用自定义根CA,则应该需要Internet连接。网络访问是,但不多了。
4)OCSP请求已签名,因此需要付出巨大努力来破坏它并伪造响应。它可以做到,但我想如果有人能做到这一点,它可以做更多有趣的事情。
5)我是这么认为的。如果OCSP请求已完成且证书被撤销,则它将进入不受信任的证书。这是Windows的标准行为。
6)这是一个广泛的问题,如果您使用证书进行代码签名,并且它由CLR执行,您应该能够加载已签名的程序集。但可能有办法。
7)我想是的,如果您可以使用ILSpy或类似工具打开程序集,您可以获得某些版本的源代码并重新编译它。与ILDASM相同
安全吗?是的,差不多。但是,如果您需要额外的安全性,则应该对代码进行补救并提供内部验证步骤,例如您通过OCSP明确验证的程序集中的嵌入式证书,并且该过程中的任何失败都会阻止您进一步使用代码。