擅长:python、mysql、java
<p>因为证书文件是自签名的,所以它的工作方式与处理请求时的正常情况相同。以下是一个循序渐进的过程:</p>
<ol>
<li><p>获取自签名证书,最好是以某种安全的带外方式。例如,我运行一个通过自签名证书提供HTTPS访问的web服务器,因此我使用<code>scp</code>下载了证书:</p>
<pre><code>scp <username>@<server>:/path/to/certfile.crt .
</code></pre></li>
<li><p>因为我用的是nginx,它已经是PEM格式了,但是如果不是的话,你需要转换它。这超出了这个答案的范围。</p></li>
<li><p>使用来自内部请求的证书文件:</p>
<pre><code>r = requests.get('https://yoursite.com/', verify='certfile.crt')
</code></pre></li>
</ol>
<p>这就是你要做的。在</p>
<p>如果无法以信任的带外方式获取证书,则可以使用浏览器获取证书。所有浏览器都允许您通过其ui导出证书。这不太安全:如果有人要向您提交MITM,那么他们很可能已经开始了,并且可以向您提供他们的MITM根CA,而不是您的自签名证书</p>