OpenCAを使用する私のプロジェクトの1つでは、sha1からsha2に移行する必要がありました。まず、基盤となるOpenSSLがsha2をサポートしていることを確認する必要がありますか?ここで私は私の発見と解決策のいくつかを共有します。 openssl(バージョン0.9.7h以降)はsha256をサポートしていますが、デフォルトでは、署名にsha1アルゴリズムを使用しています。このチュートリアルでは、sha256ダイジェストアルゴリズムを使用してデジタルx509証明書を生成する方法を説明します。 「bybyによって、sha1はすでに壊れていると言いました!」 記事sha1が壊れていることを確認してください。
以下の画像は、SHA機能の比較を示しています:
先に進む前に、Secure Socket Layer(SSL)およびTransport Layer Security(TLS)プロトコルの実装に使用されるオープンソースツールキットであるOpenSSLがインストールされていることを確認してください。ツールキットには、さまざまなオプションを使用して実行できる多数の機能がロードされています。 20の最も便利なOpenSSLコマンドについて学ぶ これは、x509sha256ハッシュ自己署名証明書の生成をさらに理解するのに役立ちます。
前提条件: このチュートリアルで説明されているコマンドを実行するには、OpenSSLをインストールする必要があります。お持ちでない場合は、ここをクリックしてインストールしてください。
ステップ1:sha256のopensslサポートを見つける方法
以下のコマンドを実行して、opensslバージョンがsha256ダイジェストをサポートしているかどうかを確認します:
#openssl dgst --help
サンプル出力:
Fri Feb 07>$openssl dgst --help unknown option '--help' options are -c to output the digest with separating colons -d to output debug info -hex output as hex dump -binary output in binary form -sign file sign digest using private key in file -verify file verify a signature using public key in file -prverify file verify a signature using private key in file -keyform arg key file format (PEM or ENGINE) -signature file signature to verify -binary output in binary form -engine e use engine e, possibly a hardware device. -md5 to use the md5 message digest algorithm (default) -md4 to use the md4 message digest algorithm -md2 to use the md2 message digest algorithm -sha1 to use the sha1 message digest algorithm -sha to use the sha message digest algorithm -sha224 to use the sha224 message digest algorithm -sha256 to use the sha256 message digest algorithm -sha384 to use the sha384 message digest algorithm -sha512 to use the sha512 message digest algorithm -ripemd160 to use the ripemd160 message digest algorithm
ステップ2:OpenSSLを使用してx509SHA256ハッシュ自己署名証明書を生成する方法
>sha256はsha2の一部であり、sha224、sha256、sha384、sha512などの他のハッシュ関数で構成されています。sha256とsha512が人気があります。以下のOpenSSLコマンドを実行して、sha256ハッシュ関数を使用して自己署名証明書を生成します。この証明書は、ドメイントランザクションを保護するためのSSL証明書として使用できます。
#openssl req -x509 -nodes -sha256 -days 365 -newkey rsa:2048 -keyout techglimpse.com.key -out techglimpse.com.crt
続きを読む:sha256ハッシュアルゴリズムを使用してパスワードを暗号化する方法 。
ステップ3:自己署名x509デジタル証明書のsha256ハッシュ関数を確認する
これで証明書が生成されました。証明書が実際に暗号化にsha256ハッシュ関数で使用されているかどうかを確認する必要があります。確認できるOpenSSLコマンドは次のとおりです。
#openssl x509 -noout -text -in techglimpse.com.crt
このコマンドは、有効性、署名アルゴリズム、公開鍵の長さなど、デジタル証明書に関するすべての情報を一覧表示します。OpenSSLコマンドを使用してSHA1またはSHA2ハッシュ関数を使用しているWebサイトのSSL証明書を確認することもできます
サンプル出力:
Certificate: Data: Version: 3 (0x2) Serial Number: f4:49:d3:ec:cc:9a:4e:01 Signature Algorithm: sha256WithRSAEncryption Issuer: C=IN, ST=KA, L=BANGALORE, O=CDAC, CN=Test.com Validity Not Before: Feb 7 07:09:30 2014 GMT Not After : Feb 7 07:09:30 2015 GMT Subject: C=IN, ST=KA, L=BANGALORE, O=CDAC, CN=Test.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:c1:bc:2c:71:25:73:89:9f:4a:c6:a2:03:b5:3d: 02:8d:bb:99:12:67:f0:51:fd:a1:b7:a2:26:a0:73: 19:de:f8:b1:06:f2:d6:55:44:bb:a3:8d:ef:8e:b3: fa:18:a3:10:07:54:0a:be:a4:29:0d:62:fc:dc:e6: bb:3c:e8:6d:6d:2e:fa:0a:b3:7c:8a:ec:f8:c5:57: a6:51:02:3a:9b:9e:8a:66:0e:69:e5:ae:bc:c9:15: 05:e4:f0:14:b0:46:71:8a:b6:72:3c:9d:23:a0:e4: 1b:94:13:69:5a:5c:ab:dc:22:4a:54:93:01:2b:20: b7:b4:b2:a7:5f:76:5e:b8:85:41:19:a6:47:ff:cb: 35:45:59:b3:fe:7d:b8:ff:ac:4b:32:0f:68:ca:88: c4:8d:63:01:b3:01:94:32:79:e7:2f:e9:6e:21:d3: f2:28:ef:c3:2f:f7:e0:47:51:d1:61:0e:78:52:60: d5:bc:1d:98:98:54:0b:51:dd:28:f4:7a:a5:a0:cd: b3:1c:da:80:95:65:e7:32:91:df:61:de:cd:5c:d2: 74:e5:de:e1:24:3d:e7:29:23:d2:28:00:85:ce:d6: 11:1a:25:68:c7:f1:8f:dd:82:dc:01:43:a5:0b:c4: e7:90:f8:8e:f0:ab:37:ed:32:44:7c:89:4b:c0:a7: dc:7f Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: EF:12:34:E0:D9:A8:82:C5:C0:E5:28:71:4A:EC:6B:CD:43:60:95:70 X509v3 Authority Key Identifier: keyid:EF:12:34:E0:D9:A8:82:C5:C0:E5:28:71:4A:EC:6B:CD:43:60:95:70 DirName:/C=IN/ST=KA/L=BANGALORE/O=CDAC/CN=Test.com serial:F4:49:D3:EC:CC:9A:4E:01
X509v3の基本的な制約:
CA:TRUE
署名アルゴリズム:sha256WithRSAEncryption
b2:d4:22:79:73:56:22:6e:3e:8c:4f:0d:44:ad:d9:a8:46:2b:
9c:4b:c1: ee:b3:ec:a5:58:95:15:49:9e:2a:88:6a:5f:79:31:
af:28:0d:21:da:50:d8:42: 77:07:8c:b7:4c:ef:e6:7d:49:7f:
17:69:66:27:a3:ef:cb:a6:72:ef:eb:7c:95: 29:3f:03:3c:f9:
74:2a:9e:66:88:2a:91:39:63:0b:9c:39:21:b1:83:3f:44:d3:
4b:c3:d7:d0:d9:bc:b0:8f:79:e1:66:29:03:52:5c:0c:af:a9:
0f:3b:4f: 4d:ad:44:aa:be:6d:99:9b:9f:53:b5:89:e6:14:5b:
92:b1:ef:9b:39:9b:ba:e5: d3:f8:4a:c4:a7:74:43:59:7e:1a:
6a:2b:74:ef:10:85:0f:ec:65:2c:57:b8:5c: bc:36:a5:78:84:
2c:11:b1:e4:b5:3c:1d:b9:06:17:7e:d3:09:1c:58:af:de:1d:
3f:b4:1c:a8:1b:d5:53:34:e8:fd:bc:28:39:b7:05:5b:85:9b:
8e:e7:13: ac:52:83:20:93:25:b3:68:57:34:09:c0:89:2c:05:
25:e3:3c:11:6e:09:f9:90: d4:84:e0:ea:77:fc:fe:af:79:38:
f0:65:97:d2:77:fb:00:76:88:8e:df:e1:cc: 30:33:dd:01:77:
e4:c2:c8:cc
以下のビデオをチェックしてください:
また読む:知っておくべきOpenSSLコマンド。
楽しみ!問題が発生した場合は、お気軽にコメントを投稿してください。できる限り回答させていただきます。