OpenSSL的配置文件

原文:   http://www.iona.com/support/docs/orbix2000/2.0/tls/html/OpenSslUtils3.html

许 多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



Example openssl.cnf File

    ################################################################
    # openssl example configuration file.
    # This is mostly used for generation of certificate requests.
    #################################################################
    [ ca ]
    default_ca= CA_default          # The default ca section
    #################################################################
     
    [ CA_default ]
    
    dir=/opt/iona/OrbixSSL1.0c/certs # Where everything is kept
    certs=$dir                       # Where the issued certs are kept
    crl_dir= $dir/crl                # Where the issued crl are kept
    database= $dir/index.txt         # database index file
    new_certs_dir= $dir/new_certs    # default place for new certs
    certificate=$dir/CA/OrbixCA      # The CA certificate
    serial= $dir/serial              # The current serial number
    crl= $dir/crl.pem                # The current CRL
    private_key= $dir/CA/OrbixCA.pk  # The private key
    RANDFILE= $dir/.rand             # private random number file
    default_days= 365                # how long to certify for
    default_crl_days= 30             # how long before next CRL
    default_md= md5                  # which message digest to use
    preserve= no                     # keep passed DN ordering
    
    # A few different ways of specifying how closely the request should
    # conform to the details of the CA
    
    policy= policy_match            # For the CA policy
   
    [ policy_match ] 
    countryName= match
    stateOrProvinceName= match
    organizationName= match
    organizationalUnitName= optional
    commonName= supplied
    emailAddress= optional
    
    # For the `anything' policy
    # At this point in time, you must list all acceptable `object'
    # types
    
    [ policy_anything ]
    countryName = optional
    stateOrProvinceName= optional
    localityName= optional
    organizationName = optional
    organizationalUnitName = optional
    commonName= supplied
    emailAddress= optional
    
    [ req ]
    default_bits = 1024
    default_keyfile= privkey.pem
    distinguished_name = req_distinguished_name
    attributes = req_attributes
    
    [ req_distinguished_name ]
    countryName= Country Name (2 letter code)
    countryName_min= 2
    countryName_max = 2
    stateOrProvinceName= State or Province Name (full name)
    localityName = Locality Name (eg, city)
    organizationName = Organization Name (eg, company)
    organizationalUnitName  = Organizational Unit Name (eg, section)
    commonName = Common Name (eg. YOUR name)
    commonName_max = 64
    emailAddress = Email Address
    emailAddress_max = 40
    
    [ req_attributes ]
    challengePassword = A challenge password
    challengePassword_min = 4
    challengePassword_max = 20
    unstructuredName= An optional company name

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: OpenSSL是一个开放源码的加密库,使用广泛。在安装OpenSSL之前,首先需要获得适合自己操作系统的安装包。可以到OpenSSL官方网站下载最新版本的安装包。通常安装包会以压缩包的形式提供,我们需要解压缩来获得安装文件。 解压缩后,我们可以看到一些文件文件夹,其中重要的是配置文件配置文件的名字通常叫做openssl.cnf。它包含了许多用于自定义OpenSSL的参数和选项的设置。 打开openssl.cnf,我们可以看到不同的区块,每个区块都代表着不同的设置。比如[CA_default]区块定义了一些默认的选项用于生成和管理证书颁发机构。 在配置文件中,可以根据自己的需求进行修改。比如可以设置默认的加密算法、默认的证书存储位置等。需要注意的是,对于一些敏感配置,比如私钥的存储位置,应该保持高度的安全性,并且只有授权人员能够访问。 配置文件还可以用于定义自定义的证书签名策略、证书请求信息以及其他一些高级功能。可以根据需要查阅OpenSSL的官方文档,了解每个选项的具体含义和用法。 在安装OpenSSL之前,建议先仔细阅读配置文件,理解每个选项的作用。同时,对于一些较为复杂的配置,也可以参考一些在线教程或者专业的OpenSSL的书籍。这样可以确保我们正确地配置OpenSSL,使其能够满足我们的需求。 ### 回答2: openssl是一种开源的加密库,用于安全传输数据。它提供了许多加密算法和安全功能,可用于创建安全的通信通道和保护数据的机密性。 要安装openssl,首先需要下载openssl安装包。可以从openssl的官方网站或其他可靠的下载来源获取安装包。安装包通常是以.tar.gz或.zip的压缩格式提供。下载完成后,将压缩文件解压缩到任意目录。 解压缩后,进入openssl目录。在此目录下运行"./config"命令来配置openssl,这将根据您的系统和需求生成适用于您的环境的Makefile文件配置过程中,您可以选择一些选项来定制openssl的安装。例如,您可以选择启用或禁用某些加密算法、选择安装路径、选择编译选项等。根据您的需求进行选择,并根据提示进行配置配置完成后,运行"make"命令来编译openssl。这将根据Makefile文件编译源代码,并生成可执行文件和库文件。编译过程可能需要一些时间,取决于您的系统性能和选择的编译选项。 编译完成后,运行"make install"命令来安装openssl。这将将生成的可执行文件和库文件复制到预定的安装路径中。安装完成后,您可以在安装路径下使用openssl命令来调用openssl的功能。 为了正确使用openssl,您还需要在系统中设置相应的环境变量。您可以将openssl的bin目录路径添加到系统的PATH变量中,这样您就可以在任意位置直接运行openssl命令。 除了安装包和配置文件外,openssl还提供了丰富的文档和示例代码,供您参考和学习。这些资源可以帮助您更好地理解openssl的使用和特性,从而更好地应用于实际项目中。 ### 回答3: OpenSSL是一个开放源代码的加密库,包括SSL协议的实现,其安装包和配置文件对于使用和配置OpenSSL非常重要。 首先,要安装OpenSSL,我们需要下载并获取OpenSSL安装包。可以通过访问OpenSSL官方网站或通过软件包管理器获取安装包。下载完成后,我们需要解压缩安装包并进入解压缩后的目录。 接下来,我们可以进行一些配置选项的设置。配置文件OpenSSL用来修改默认行为的重要文件。默认情况下,OpenSSL会在安装目录下搜索名为openssl.cnf的配置文件,我们可以使用该文件进行定制。我们可以根据自己的需求,设置不同的选项,如默认使用的加密算法、密钥和证书的存储位置等等。通过编辑配置文件,我们可以自定义更多功能和行为。 配置文件中的一些常用选项包括: - openssl_conf:指定默认的OpenSSL配置文件路径。 - RANDFILE:指定随机数文件的路径。 - dir:指定存放密钥和证书文件的目录。 - oid_file:指定用于命名对象标识符的文件路径。 - engines:指定加载或禁用特定密码引擎的选项。 在完成配置后,我们可以通过运行"./config"命令来执行配置过程。该命令将应用我们在配置文件中进行的修改。在配置过程中,我们还可以选择是否启用或禁用某些功能,例如禁用弱密码算法或启用TLS1.3等。 配置完成后,我们可以运行"make"和"make install"命令来编译和安装OpenSSL。这将生成可执行文件和库文件,并将它们安装到指定的目录。 通过正确设置OpenSSL的安装包和配置文件,我们可以根据自己的需求进行自定义。这样,我们就能够更好地使用和配置OpenSSL来满足我们的加密和安全需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值