微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OpenSSL生成无效的PEM文件

如何解决OpenSSL生成无效的PEM文件

为了完成某些技术规则,我需要生成具有某些特定值的自签名证书:

SubjectDN 字段中:

  • 通用名称 (OID 2.5.4.3)-公司的网站URL
  • 组织名称 (OID 2.5.4.10)—公司名称
  • 国家/地区名称 (OID 2.5.4.6)-公司所在国家/地区的ISO 3166-1代码
  • localityName (OID 2.5.4.7)-公司所在的城市
  • organizationalIdentifier (OID 2.5.4.97)=特定的公司ID

证书政策字段中:

  • policyIdentifier (OID 1.3.76.16.4.2.1)=与公司相关的特定字符串

为了生成此类证书,我创建了以下Openssl配置文件

[ ca ]
default_ca      = CA_MyCompany

[ req ]
default_bits = 2048
default_md = sha256
prompt = no
encrypt_key = no
distinguished_name = dn
req_extensions = v3_req
x509_extensions = v3_ca

[ dn ]
C = US
L = New York
stateOrProvinceName = USA
O = My Company
organizationalUnitName = ICT Department
CN = https://www.mycompany.com
organizationIdentifier = CompanyID

[v3_req]
basicConstraints       = CA:false
keyUsage               = digitalSignature,nonRepudiation,keyEncipherment,dataEncipherment,keyCertSign

[ v3_ca ]
basicConstraints       = CA:true
subjectKeyIdentifier   = hash
authorityKeyIdentifier = keyid:always,issuer:always
keyUsage               = digitalSignature,keyCertSign
certificatePolicies    = @polsect

[polsect]
policyIdentifier = company-realted string

使用以下命令:

openssl req -config openssl.cnf  -x509 -sha256  -days 365 -newkey rsa:2048 -nodes -out "certificate.crt" -keyout "certificate.pem"

我获得了无效的pem文件(即,无法使用几个免费提供的证书验证器/解码器(例如XCA中的某些文件)将其打开。

在两个不同的Linux发行版和两个不同版本的OpenSSL(1.1.1c和1.1.1.h)上,我遇到了相同的问题。

我做错了什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。