物联网开发实用知识 – 查看网站证书和公钥

在我们用HTTPS协议开发物联网项目时,有时需要获取网站服务器的证书和公钥。我们可以用电脑中的浏览器来获取该信息。

为了演示本操作,我在这里使用基于Chrome内核的Microsoft Edge浏览器来进行演示如何获取必应网站(www.bing.com)服务器的证书和公钥。

首先请在服务器地址栏中输入以下网址:

https://www.bing.com

当浏览器成功打开以上网址的网页后,请如下图所示点击地址栏前面的“小锁”标志。然后在弹出的菜单中点击“证书”(如下图红色箭头所标识的信息)。

ssl-website-pubkey-1
ssl-website-pubkey-1

如下图所示,请在弹出的“证书”窗口中,点击下图数字1所示的“证书路径”,然后用鼠标选中下图数字2所示的“www.bing.com”。

ssl-website-pubkey-2
ssl-website-pubkey-2

如下图所示,接下来请点击下图数字1所示的“详细信息”标签。此时窗口中显示的都是上一步选中的“www.bing.com”网站服务器证书的详细信息。然后您 就可以点击下图中数字2所示的“复制到文件”按钮。

ssl-website-pubkey-3
ssl-website-pubkey-3

如下图所示,在弹出的“证书导出向导”中点击 “下一步”按钮。

ESP8266-HTTPS-root-certificat-3

如下图所示,接下来您可以根据自己的需要选择证书格式。请选择Base64编码X.509(.CER)选项,然后点击下一步。

ESP8266-HTTPS-root-certificate-5

如下图所示,在接下来的步骤里,点击浏览按钮,选择保存证书文件的路径。

ssl-website-pubkey-5
ssl-website-pubkey-5

如下图所示,我们完成了网站服务器证书的导出工作。如果您需要从该证书中提取公钥信息,那么请继续看后续的讲解。

ESP8266-HTTPS-root-certificate-7

在接下来的操作中,我们将需要使用OpenSSL工具。如果您使用的是Windows电脑,那么需要使用以下链接将OpenSSL工具下载并安装到电脑中。如果您的电脑中已经安装好git这类集成了OpenSSL的软件,那么您可以不必下载以下工具。简言之,无论您使用什么软件和方法,只要您可以在电脑中使用OpenSSL就可了。

Win64 OpenSSL v1.1.1g Light (蓝奏云下载,适用64位Windows)

Win32 OpenSSL v1.1.1g Light (蓝奏云下载,适用64位Windows)

Shining Light Productions网站下载

接下来请启动OpenSSL工具,并进入刚刚下载的证书存放路径,然后输入以下指令,即可从下载的证书中提取公钥信息。

openssl x509 -pubkey -noout -in bing.cer

注意,以上指令中的“bing.cer”为下载的证书名称,务必确保这一部分内容是准确的。另外在输入以上指令时务必确保您当前的操作路径是证书存放路径。

如下图所示,公钥信息将会显示在屏幕中供您复制粘贴到程序中使用。

ssl-website-pubkey-6
ssl-website-pubkey-6