1
有教程显示,如何将一个属性(如subjectAltName
-扩展)添加到证书签名请求(CSR)。例如,我这是怎么枚举有效的别名,创建CSR时:如何从OpenSSL :: X509 :: Request获取属性?
aliases.each do |a|
alist << ("DNS:#{a}")
alist << ("IP:#{a}") if IPAddress.valid? a
end
extension = OpenSSL::X509::ExtensionFactory.new.create_extension(
'subjectAltName',
alist.join(', '),
false
)
csr.add_attribute OpenSSL::X509::Attribute.new(
'extReq',
OpenSSL::ASN1::Set.new(
[OpenSSL::ASN1::Sequence.new([extension])]
)
)
但是,假设我要读从已经存在的CSR任何这样的属性(如一些从磁盘读取)?没有get_attribute
方法...是否有一种简单的方法从Request
对象中获取原始列表(例如DNS:meow, DNS:127.0.0.1, IP:127.0.0.1
)?