我是OpenSSL的新手,拥有SSL协议的理论信息。我的任务是创建一个使用RSA算法进行对称会话密钥交换的证书,并使用我自己的加密算法FooSymmetricAlgorithm
作为对称会话密钥。我需要一种方法告诉浏览器和Web服务器使用FooSymmetricAlgorithm
作为对称算法。我知道我可以将我的根证书导入浏览器,但我认为这并不意味着我可以将加密算法添加到浏览器中。 我的问题是我如何告诉浏览器使用FooSymmetricAlgorithm
进行会话密钥和加密。它与浏览器没有区别。只需要一个浏览器即可,我只是出于测试目的使用它。
我想知道当我向浏览器发送数字证书时有什么办法,浏览器被迫使用我的FooSymmetricAlgorithm
来加密数据?我的意思是有什么方法可以将我的算法添加到浏览器中吗?
答案 0 :(得分:3)
我的问题是如何告诉浏览器使用FooSymmetricAlgorithm进行会话密钥和加密。
您必须将自己的密码套件添加到浏览器,这意味着更改NSS(Chrome,Firefox)中的源代码。然后,您必须更改服务器使用的TLS堆栈并在那里添加密码套件。有关如何执行此操作的详细信息,请参阅OpenSSL和/或NSS中现有密码套件的实现。由于密码套件不是IANA assigned,您必须使用标记为私人用途的密码ID之一。
如果一切正常,浏览器将宣布支持新的密码套件,服务器将使用它。但是所有这些过程并不像添加根证书那么简单,这意味着它涉及大量编码,阅读现有的源代码等。