証明書要求を作成するためにOpenSSLをCAと使用

OpenSSLの紹介

OpenSSLの暗号化が必要なセキュアソケットレイヤ(SSL V2 / V3)とトランスポート層セキュリティ(TLS v1の)ネットワークプロトコルおよびそれに関連する暗号化標準を達成するためのツール群です。

シェルプログラムから、さまざまな暗号機能のOpenSSL暗号化ライブラリを使用するためのopensslコマンドラインツール。それは使用することができます。

  • 作成し、プライベート、パブリックおよびパラメータを管理
  • 公開鍵暗号オペレーション
  • X.509証明書、CSRとCRLを作成します
  • メッセージダイジェスト計算
  • 暗号化と復号化パスワードを使用してください
  • SSL / TLSクライアントとサーバのテスト
  • S MIME署名またはメッセージを暗号化に対処/
  • タイムスタンプ要求、生成および検証

OpenSSLの設定ファイルと3つの戦略

配置文件
/etc/pki/tls/openssl.cnf

三种策略
match(匹配):要求申请填写的信息跟CA设置信息必须一致
optional(可选):可有可无,跟CA设置信息可不一致
supplied(提供):必须填写这项申请信息

CAと証明書ファイルを、民間のアプリケーションを作成し発行(以下の操作は、単一のマシン上で実行されています)

必要な書類を作成して1

[root@CentOS7 ~]# cd /etc/pki/CA/
[root@CentOS7 CA]# touch index.txt  生成证书索引数据库文件
[root@CentOS7 CA]# echo 01 > serial 指定第一个颁发证书的序列号

2.CAの自己署名証明書

2.1は、秘密鍵を生成し、
[root@CentOS7 CA]# (umask 066;openssl genrsa -out private/cakey.pem 2048)
Generating RSA private key, 2048 bit long modulus
...................................................................................+++
.+++
e is 65537 (0x10001)
2.2は、自己署名証明書を生成します
[root@CentOS7 CA]# openssl req -new -x509 -key private/cakey.pem -days 3650 -out cacert.pem
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:beijing
Locality Name (eg, city) [Default City]:beijing
Organization Name (eg, company) [Default Company Ltd]:abc
Organizational Unit Name (eg, section) []:IT  
Common Name (eg, your name or your server's hostname) []:hechunping
Email Address []:[email protected]

选项说明:
-new:生成新证书签署请求
-x509:专用于CA生成自签证书
-key:生成请求时用到的私钥文件
-days n:证书的有效期限
-out /PATH/TO/SOMECERTFILE: 证书的保存路径

3.証明書

3.1ホスト(この実験本機で)証明書要求を使用して、証明書が必要と生成します
3.1.1生成された秘密鍵
[root@CentOS7 CA]# (umask 066;openssl genrsa -out /data/test.key 2048)
Generating RSA private key, 2048 bit long modulus
..................................................+++
...............................+++
e is 65537 (0x10001)
3.1.2生成された証明書要求ファイル
[root@CentOS7 CA]# openssl req -new -key /data/test.key -out /data/test.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:beijing
Locality Name (eg, city) [Default City]:beijing
Organization Name (eg, company) [Default Company Ltd]:abc
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []:hechunping
Email Address []:[email protected]

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

3.2ファイル(二つの異なるホストに転送するSCPコマンドを使用することができる)CAに証明書要求を転送します

3.3CA署名された証明書、および要求者に発行された証明書
[root@CentOS7 CA]# openssl ca -in /data/test.csr -out certs/test.crt -days 100
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 1 (0x1)
        Validity
            Not Before: Nov 10 13:45:34 2019 GMT
            Not After : Feb 18 13:45:34 2020 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = beijing
            organizationName          = abc
            organizationalUnitName    = IT
            commonName                = hechunping
            emailAddress              = [email protected]
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                4C:AE:F0:13:F0:CD:8F:B5:F7:3F:1B:C8:E4:77:91:02:9E:88:6B:5A
            X509v3 Authority Key Identifier: 
                keyid:E3:C1:5E:6D:94:5E:F2:AE:16:67:79:2C:69:B5:B9:10:D9:E0:51:BE

Certificate is to be certified until Feb 18 13:45:34 2020 GMT (100 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

注意:默认要求 countryName(国家),stateOrProvinceName(省),organizationName(公司)三项必须和CA一致

証明書内の3.4の情報を表示します

[root@CentOS7 CA]# openssl x509 -in certs/test.crt -noout -text|issuer|subject|serial|dates

3.5証明書ステータスの指定された番号を確認

[root@CentOS7 CA]# openssl ca -status 01
Using configuration from /etc/pki/tls/openssl.cnf
01=Valid (V)

4.失効した証明書

クライアント証明書の失効を取得するためのシリアル4.1
[root@CentOS7 CA]# openssl x509 -in certs/test.crt -noout -serial -subject
serial=01
subject= /C=CN/ST=beijing/O=abc/OU=IT/CN=hechunping/[email protected]
4.2 CAに、顧客によって提示シリアルおよび被写体情報に基づいて、照合ファイルindex.txtの中の情報と一致しています
[root@CentOS7 CA]# cat index.txt
V   200218134534Z       01  unknown /C=CN/ST=beijing/O=abc/OU=IT/CN=hechunping/[email protected]
4.2.1 REVOKE証明書
[root@CentOS7 CA]# openssl ca -revoke newcerts/01.pem 
Using configuration from /etc/pki/tls/openssl.cnf
Revoking Certificate 01.
Data Base Updated

4.2最初の取り消された証明書のシリアル番号、ノートを指定します。最初の更新は、唯一の証明書失効リストの前に実行する必要があります。

[root@CentOS7 CA]# echo 01 > crlnumber

4.3アップデート証明書失効リスト

[root@CentOS7 CA]# openssl ca -gencrl -out crl.pem
Using configuration from /etc/pki/tls/openssl.cnf

4.4ビューのCRLファイル

[root@CentOS7 CA]# openssl crl -in crl.pem -noout -text

証明書要求はビューダウンウィンドウにエクスポートされ

Windows上の1.キー「+ Rを獲得」し、「certmgr.msc」コマンドを実行します押してください。
2.その後、Linuxでのダウンアプリケーションを選択し、ウィザードに従って、--->「インポート」証明書「信頼されたルート証明機関」は「すべてのタスク」を右クリックして下さい。
3.レビュー証明書情報
証明書要求を作成するためにOpenSSLをCAと使用

おすすめ

転載: blog.51cto.com/hexiaoshuai/2449310