擅长:python、mysql、java
<p>在您的用例中,默认主机名检查是不合适的。您可能想尝试只进行证书指纹检查。首先,获取每个证书的指纹(opensslx509-fingerprint)。假设有对等点A和对等点B,分别有指纹A和指纹B。在</p>
<p>在对等端,您将在脚本的早期进行以下调用:</p>
<pre><code>from M2Crypto import SSL
SSL.Connection.clientPostConnectionCheck = SSL.Checker(peerCertHash='fingerprint B')
</code></pre>
<p>在对等端B端,除了使用指纹A之外,您也会执行相同的操作。现在证书检查器将只检查以确保指纹匹配,而不会执行进一步的检查。在</p>
<p>这种方法确实意味着它将覆盖<strong>ALL</strong>SSL连接的连接后检查,因此它并不适用于所有用例。如果您可以控制SSL连接对象,您还可以为每个实例调用set_post_connection_check_callback(),这将允许在需要时使用不同的检查器。在</p>