如何使用OpenSSL将创建的会话加密算法添加到(主要)浏览器

时间:2014-10-30 14:47:07

标签: ssl encryption openssl encryption-symmetric

我是OpenSSL的新手,拥有SSL协议的理论信息。我的任务是创建一个使用RSA算法进行对称会话密钥交换的证书,并使用我自己的加密算法FooSymmetricAlgorithm作为对称会话密钥。我需要一种方法告诉浏览器和Web服务器使用FooSymmetricAlgorithm作为对称算法。我知道我可以将我的根证书导入浏览器,但我认为这并不意味着我可以将加密算法添加到浏览器中。 我的问题是我如何告诉浏览器使用FooSymmetricAlgorithm进行会话密钥和加密。它与浏览器没有区别。只需要一个浏览器即可,我只是出于测试目的使用它。

我想知道当我向浏览器发送数字证书时有什么办法,浏览器被迫使用我的FooSymmetricAlgorithm来加密数据?我的意思是有什么方法可以将我的算法添加到浏览器中吗?

1 个答案:

答案 0 :(得分:3)

  

我的问题是如何告诉浏览器使用FooSymmetricAlgorithm进行会话密钥和加密。

您必须将自己的密码套件添加到浏览器,这意味着更改NSS(Chrome,Firefox)中的源代码。然后,您必须更改服务器使用的TLS堆栈并在那里添加密码套件。有关如何执行此操作的详细信息,请参阅OpenSSL和/或NSS中现有密码套件的实现。由于密码套件不是IANA assigned,您必须使用标记为私人用途的密码ID之一。

如果一切正常,浏览器将宣布支持新的密码套件,服务器将使用它。但是所有这些过程并不像添加根证书那么简单,这意味着它涉及大量编码,阅读现有的源代码等。