本文介绍如何使用OpenSSL工具快速获取OpenID Connect(OIDC)身份提供商(IdP)的SSL/TLS证书指纹。
前提条件
请确保您的系统中已正确安装 OpenSSL 命令行工具,本文以Windows 10操作系统为例。
安装OpenSSL。
从Win32/Win64 OpenSSL下载安装包。
运行安装包。
建议保持默认安装路径(
C:\Program Files\OpenSSL-Win64
)。
手动配置环境变量。
在桌面鼠标右键单击此电脑,选择
,在Path
中添加OpenSSL的bin
目录路径(如C:\Program Files\OpenSSL-Win64\bin
)。验证安装结果。
在命令提示符或PowerShell中执行以下命令:
openssl version
若输出类似以下内容,则表示OpenSSL 已正确安装。
OpenSSL 3.4.1 11 Feb 2025
若提示“命令未找到”或“无法识别”,则需要您检查环境变量路径是否包含
x:\xxx\OpenSSL-Win64\bin
目录。
操作步骤
以下操作以 https://oauth.aliyun.com
为示例域名,实际执行时需将其替换为您自己的IdP域名。
步骤一:获取顶级域
为了访问OIDC IdP的配置信息,您需要构建该IdP的配置文档URL,即在IdP的基础URL后添加
/.well-known/openid-configuration
。以https://oauth.aliyun.com
为例,构建的IdP配置文档URL如下:https://oauth.aliyun.com/.well-known/openid-configuration
打开浏览器访问构建好的IdP配置文档URL,我们可以得到如下所示的JSON格式配置文档。从中找到
jwks_uri
字段,获取其中的完全限定域名(不包括https://和顶级域后的路径),即oauth.aliyun.com
。
步骤二:获取证书
打开终端,输入以下命令,其中的
oauth.aliyun.com
为步骤一中获取的完全限定域名。openssl s_client -servername oauth.aliyun.com -showcerts -connect oauth.aliyun.com:443
在输出结果中,通过滚动或搜索关键字(
-----BEGIN CERTIFICATE-----
或-----END CERTIFICATE-----
)找到包含证书的区块。若存在多个证书条目,默认选取最后一个证书。说明标准的PEM格式证书必须包含以下固定边界标识符:
起始标记:
-----BEGIN CERTIFICATE-----
。结束标记:
-----END CERTIFICATE-----
。
-----BEGIN CERTIFICATE----- MIIEaTCCA1GgAwIBAgILBAAAAAABRE7wQkcwDQYJKoZIhvcNAQELBQAwVzELMAkG A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv ··· -----END CERTIFICATE-----
完整复制以上证书内容,确保包含完整的起始标记和结束标记。使用纯文本编辑器新建文件,将复制的证书内容粘贴至文件中,并以
.crt
为扩展名保存。文件名示例:certificate.crt
。(可选)验证文件有效性。
打开终端运行以下命令,无报错即表示格式正确。
openssl x509 -in certificate.crt -text -noout
步骤三:获取指纹
打开终端或命令提示符输入以下完整命令并回车。
openssl x509 -in certificate.crt -fingerprint -sha1 -noout
输出证书指纹。
SHA1 Fingerprint=90:2E:F2:DE:EB:3C:5B:13******
将该指纹中的所有
:
去除,以获取最终指纹。902EF2DEEB3C5B13******