サーバー証明書
目次
OpenSSL
暗号化通信ライブラリ
SSL/TLSのツールキット
秘密鍵作成
「電子証明書/秘密鍵」参照
openssl
RSA方式の秘密鍵を作成
genrsa
鍵の長さ=2048bit
2048
秘密鍵ファイル名
> test.key
CSR作成
「電子証明書/CSR」参照
> openssl req
-new
秘密鍵ファイル名
-key test.key
CSRファイル名
-out test.csr
-subj "
/C=JP
/ST=Hyogo
/L=Nishinomiya
/O=Example Corp.
/DC=jp
識別名(CommonName)=ドメイン名
/CN=www.example.jp"
設定ファイルを読み込んでのCSR作成
設定ファイル作成
設定ファイルを複製
C:\xampp\apache\conf\openssl.cnf
↓
C:\xampp\apache\conf\openssl-san.cnf
末尾に以下を追加
[SAN]
subjectAltName = @alt_names
[alt_names]
DNS.1=localhost
DNS.2=test
CSR作成
> openssl req
-newkey rsa:4096
秘密鍵ファイル名
-keyout test.key
-x509
-nodes
CSRファイル名
-out test.csr
識別名(CommonName)=ドメイン名
-subj "//CN=test"
-reqexts SAN
-extensions SAN
設定ファイルを指定
-config openssl-san.cnf
-days 3650
証明書作成
SSLサーバー証明書、公開鍵
「電子証明書/公開鍵」参照
openssl x509
-req
有効期間=10年
-days 3650
秘密鍵ファイル名
-signkey test.key
CSRファイル名
< test.csr
証明書ファイル名
> test.crt
PKCS12(pfx)形式へ変換
openssl pkcs12
-export
証明書ファイル名
-in test.crt
秘密鍵ファイル名
-inkey test.key
個人情報交換ファイル名
-out keystore.pfx
-name test
SSH用認証暗号鍵
ssh-keygen -t rsa
対話形式での質問に全て「Enter」
~/.ssh に以下の暗号鍵が生成される
id_rsa id_rsa.pub
less id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEoQIBAAKCAQEAo9vL2+xbs4NU53fFds+iuM7b749jVCjz0x3Ok4ZOKoSGODxq
NPhkDSM7I3dWWFeV4kXyiFA3xObTbto71xRvivW/NwyPw6DphNcutEDAVIeXIEX+
略
PZ6HRKwK8yD+OzcJNmdHf8cSeT1TLhp7t58HQgD8lfcdgjtyo+lIk0B3fuyIqpE1
+b6ECfIXG1s92zIstIxxT1gWGrj4VaDCiU4/0dND6TpF7JlYBA==
-----END RSA PRIVATE KEY-----
JAVA KeyTool
Javaが提供する鍵と証明書の管理ツール
個人情報交換ファイル作成
> keytool
キーペアを作成
-genkey
証明書・鍵のKeyStore内での識別名
-alias test
-storetype PKCS12
暗号化方式
-keyalg RSA
-keysize 2048
ファイル名
-keystore keystore.p12
証明書の有効日数
-validity 3650
keystore.p12というファイルが作成される
証明書の登録
keytool
-import
-keystore "C:\Program Files\Java\jreX.X.X\lib\security\cacerts"
-file "test.crt"
-storepass "changeit"
-alias test
証明書の削除
keytool
-delete
-keystore "C:\Program Files\Java\jreX.X.X\lib\security\cacerts"
-storepass "changeit"
-alias test
証明書の内容表示
keytool
-list -v
-keystore "C:\Program Files\Java\jreX.X.X\lib\security\cacerts"
-storepass "changeit"
※管理者権限で実行
結果
別名: test
作成日: 2017/04/29
エントリ・タイプ: trustedCertEntry
所有者: CN=test, O=Internet Widgits Pty Ltd, ST=Some-State, C=JP
発行者: CN=test, O=Internet Widgits Pty Ltd, ST=Some-State, C=JP
シリアル番号: b4b537f59b612674
有効期間の開始日: ~ 終了日: ~
証明書のフィンガプリント:
MD5: ~
SHA1: ~
SHA256: ~
署名アルゴリズム名: SHA256withRSA
バージョン: 1