许 多OpenSSL命令(例如,req和ca)带有一个-config参数用于指定openssl配置文件的位置. 本节提供配置文件格式的简短描述 和它怎么应用于req和ca命令.
openssl.cnf配置文件由许多节(section)组成, 这些节指定了一系列由openssl命令使用的默认值.
[req] 变量
req节包含下列设置:
default_bits=1024
default_keyfile=privkey.pem
distinguished_name=req_distingguished_name # section name
attributes=req_attributes # section name
default_bits : 是你希望使用的RSA key的默认长度,其它的可能值是512,2048和4096
default_keyfile : 由req建立的私钥文件的默认文件名.
distinguished_name : 也是配置文件中的节,这个节为distinguished name域各组件定义默认值.req_attributes
变量指定配置文件中 定义证书请求属性的默认值的节.
[ca] 变量
你可以配置openssl.cnf来支持许多为签名CSR文件而有着不同策略 (policy)的CA.
-name参数来指定要使用哪个CA节.例如:
openssl ca -name MyCa ...
这 个命令引用CA的节[MyCa], 如果-name没被提供给ca命令,那就使用default_ca变量指定的节.
可以有多个不同的CA,但只 能有一个是默认的CA。
可能的[ca]变量包含如下内容:
dir: CA数据库的位置.
数据库是指一个简单的文本数据库,里面包含由tab分隔的字段:
status : 'R' - revoked(撤销的), 'E' - expired(过期的), 'V' - 有效
issued date : 发证日期
revoked date : 撤销日期,如果没被撤销,空
serial number : 序号
certificate : 证书存放位置
CN : 证书的文件名
serial字段应当是唯当像CN/status组合一样是唯一的,ca程序在启动时检测这些值.
certs: 所有以前发布的证书保存的地方.
[policy] 变量
如果ca命令的-policy参数没被提供,policy变量指定默认的 policy节.
CA策略节表示在证书在被CA签发前,证书请求的内容必须被满足的必要条件.
例子定义了两个policy: policy_match和policy_anything.
看一下如下值:
countryName=match
这意味 着country name必须匹配CA证书。
organisationalUnitName=optional
这表示 organistationalUnitName是可选的.
commonName=supplied
这表示commonName 在证书请求中必须提供
例子openssl.cnf文件的policy_match节指定了在生成的证书中属性的顺序,如下:
countryName
stateOrProvinceName
organizationName
organizationalUnitName
commonName
emailAddress
-
SSL
70 引用 • 193 回帖 • 416 关注
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于