Dondariadmin (トーク | 投稿記録) (→スクリプト) |
Dondariadmin (トーク | 投稿記録) |
||
(同じ利用者による、間の6版が非表示) | |||
9行目: | 9行目: | ||
* 第2引数にパスフレーズ | * 第2引数にパスフレーズ | ||
+ | #!/bin/sh | ||
if [ $# -ne 2 ]; then | if [ $# -ne 2 ]; then | ||
echo "usage: $0 <fqdn> <passphrase>" | echo "usage: $0 <fqdn> <passphrase>" | ||
26行目: | 27行目: | ||
# CSR出力 | # CSR出力 | ||
− | openssl req -new -key $CN.key -out $CN.csr -subj "$SJ" | + | openssl req -new -sha256 -key $CN.key -out $CN.csr -subj "$SJ" |
# 確認のためにCSR内容を表示 | # 確認のためにCSR内容を表示 | ||
openssl req -noout -text -in $CN.csr | openssl req -noout -text -in $CN.csr | ||
+ | |||
+ | == オレオレ証明書を作成する == | ||
+ | * 開発用とか、テスト環境用に自己証明書(self signed certificate:通称オレオレ証明書)を作成する場合は上記で作成した .keyファイルと.csrファイルを使用し、下記のように作成します。 | ||
+ | |||
+ | # server.csrとserver.keyを指定して server.crtを作成する例 | ||
+ | openssl x509 -req -in server.csr -signkey server.key -sha256 -days 36500 -out server.crt | ||
+ | |||
+ | == 証明書ファイルの内容を表示 == | ||
+ | |||
+ | openssl x509 -text -noout -in server.crt | ||
+ | |||
+ | == 証明書ファイルのfingerprintを表示 == | ||
+ | openssl x509 -fingerprint -noout -in server.crt | ||
+ | |||
+ | == 秘密鍵から公開鍵を作成する == | ||
+ | |||
+ | openssl rsa -pubout -in server.key -out server.pub | ||
+ | |||
+ | == 公開鍵を確認する == | ||
+ | |||
+ | openssl rsa -text -pubin < server.pub | ||
+ | |||
+ | == PKCS#12作成 == | ||
+ | * 秘密鍵と証明書(公開鍵)をまとめる | ||
+ | |||
+ | openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12 | ||
+ | |||
+ | == PKCS#12確認 == | ||
+ | |||
+ | $ openssl pkcs12 -in shinsaka.p12 -info -noout | ||
+ | Enter Import Password: | ||
+ | MAC Iteration 2048 | ||
+ | MAC verified OK | ||
+ | PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048 | ||
+ | Certificate bag | ||
+ | PKCS7 Data | ||
+ | Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048 | ||
+ | |||
+ | |||
+ | == 関連 == | ||
+ | * [[公開鍵暗号方式についての自習]] |
#!/bin/sh if [ $# -ne 2 ]; then echo "usage: $0 <fqdn> <passphrase>" exit 1; fi CN=$1 PP=$2 # 対話式で入力するdistinguished nameを一度に指定。コモンネームは第1引数 SJ="/C=JP/ST=Tokyo/L=Minato-ku/O=DONDARI inc./OU=dondari labo/CN=$CN" # 秘密鍵を作成 openssl genrsa -des3 -passout pass:$PP -out $CN.key 2048 # パスフレーズなしの秘密鍵にする openssl rsa -passin pass:$PP -in $CN.key -out $CN.key # CSR出力 openssl req -new -sha256 -key $CN.key -out $CN.csr -subj "$SJ" # 確認のためにCSR内容を表示 openssl req -noout -text -in $CN.csr
# server.csrとserver.keyを指定して server.crtを作成する例 openssl x509 -req -in server.csr -signkey server.key -sha256 -days 36500 -out server.crt
openssl x509 -text -noout -in server.crt
openssl x509 -fingerprint -noout -in server.crt
openssl rsa -pubout -in server.key -out server.pub
openssl rsa -text -pubin < server.pub
openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12
$ openssl pkcs12 -in shinsaka.p12 -info -noout Enter Import Password: MAC Iteration 2048 MAC verified OK PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048 Certificate bag PKCS7 Data Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048