我正在尝试开发一个测试工具来验证通过 HTTPS 提供的基于 SOAP 的协议。
我的问题是,如果协议中出现任何问题,我无法使用 wireshark 来调试它,因为流量是加密的。
是否可以使用 openssl 生成具有 nihil cyper 的证书?
答案1
所选的 TLS 密码套件(可能使用 NULL 加密)与所使用的证书无关,即只需使用带有“WITH_NULL”密码套件之一的普通证书:
https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4
另一种选择是配置 wireshark 来解密流量(这需要 wireshark 能够访问私钥):
答案2
是也不是。
是的:X.509 证书几乎总是具有密钥用法或扩展密钥用法扩展,规定如何使用证书。如果省略值数据加密和密钥加密此时将其设置为其他值(例如电子签名), 每一个遵守该标准的应用程序都不得使用证书的密钥进行加密。
不:每个 X.509 证书都包含一个公钥,理论上可以使用它来加密数据,无论标准要求您做什么。
底线:从技术上讲,您无法禁止某人使用 X.509 证书中的密钥进行加密。最好的办法是设置密钥用法设置为适当的值,并使用 ECC 密钥而不是 RSA 密钥,因为 ECC 加密并不经常使用。