业务合作伙伴需要客户端证书才能访问他们的一些 API。
我使用以下命令通过 OpenSSL 生成了证书:
openssl req -x509 -newkey rsa:4096 -keyout mykey.pem -out mycert.pem -sha256 -days 365
业务合作伙伴表示,证书的“基本约束”部分包含一些内容,证书必须完全不受基本约束。他们还向我展示了一张有效证书的屏幕截图,该证书没有任何基本约束。
我尝试添加参数-addext "basicConstraints=CA:FALSE,pathlen:0"
,但这会生成一个包含以下两个部分的证书,看起来可能无效:
如何在没有基本约束部分的情况下生成客户端证书?
答案1
这基本约束 证书扩展不是必需的,并且很可能已从您的openssl
设置中加载。
- 用于
openssl version -d
获取 openssl 文件的位置 - 在该目录中找到并编辑openssl.cnf配置文件
- 注释掉基本约束行(根据生成的证书类型,可能会有几行),然后保存文件
- 重新生成证书