问题描述
为了完成某些技术规则,我需要生成具有某些特定值的自签名证书:
在 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)=与公司相关的特定字符串
[ 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 (将#修改为@)