在典型的 https web 场景中,我对浏览器和服务器之间的 SSL 握手有一点困惑:
到目前为止我所了解的是,在 SSL 握手过程中,客户端(在这种情况下为浏览器)使用公钥(从服务器接收的证书)加密随机选择的对称密钥。这被发送回服务器,服务器使用私钥对其进行解密(对称密钥)。现在在会话的其余部分使用此对称密钥来加密/解密两端的消息。这样做的主要原因之一是使用对称密钥进行更快的加密。
问题
1)浏览器如何选择并生成这个“随机”选择的对称密钥?
2) 开发人员(或/和浏览器用户)是否可以控制这种生成对称密钥的机制?