Raspberry PiのopensslでCA構築

 Ubuntuで認証局を作って、SSL - 12/27/2015

以降、ちょびちょび修正してちゃんと使っていたのだが、その後、CAを構築するほどのことがなかったので、ほったらかしにしていたが、最近のプリンタとかも、管理画面にはいるのにhttpsを使って、かつ証明書を入れれるので、ちゃんと認証局CAを作って運用しようとしたら。結構かかったのでメモ。

https://qiita.com/3244/items/2a2a2dc6cd1e2e35beb9 

https://qiita.com/bashaway/items/ac5ece9618a613f37ce5

https://qiita.com/cnloni/items/a8c9ae834a7d66f60d08

を参考

/etc/ssl/openssl.cnf の編集

面倒くさいので10年くらいの有効期間

[ CA_default ]
dir = ./demoCA

default_days = 3650
default_crl_days= 30

default_md = sha256 (SHA-2への移行対応)
509_extensions = usr_cert    #多分もともと有効

[ req ]

req_extensions = v3_req #コメントアウトされているのを戻す


[ usr_cert ]
basicConstraints=CA:TRUE
nsCertType = server
subjectAltName = @alt_names # (3) 追加(「usr_cert」ディレクティブの最後に)

[ v3_ca ]
basicConstraints = CA:true
nsCertType = sslCA, emailCA
subjectAltName = @alt_names #[ v3_ca ] の一番最後

[ alt_names ]

DNS.1 = example.com
ip.1 = 192.168.0.1

 

認証局を作る

sudo openssl req -new -x509 -newkey rsa:2048 -out cacert.pem -keyout private/cakey.pem -days 3825

ルート証明書を作る

 sudo openssl x509 -inform PEM -outform DER -in cacert.pem -out CAcert.der

CAcert.derをPCの証明書に登録する


サーバー証明書の発行

格納するためのディレクトリを作成

$ sudo mkdir -p /etc/ssl/www

cd www 

鍵ペアと証明書要求(CSR)ファイルを作成します。

openssl req -new -keyout www_key.pem -out www_csr.pem

適当に情報を入力

作成が終わると以下のファイルができあがる。

www_csr.pem : サーバ証明書要求(CSR)

www_key.pem : サーバ秘密鍵

のような感じ

sudo openssl ca -out www_cert.pem -infiles www_csr.pem

パスフレーズを削除 

 sudo openssl rsa -in www_key.pem -out www_key.pem.nopass

sudo chmod 644  www_key.pem www_key.pem.nopass

以下のコマンドで確認。 

sudo openssl x509 -text -in www_cert.pem

www_key.pem.nopassとwww_cert.pemをダウンロード


PKCS #12 形式の作成

sudo openssl pkcs12 -export -inkey www_key.pem.nopass -in www_cert.pem -out www.pfx



 

コメント

このブログの人気の投稿

Windows10デフォルトゲートウェアに0.0.0.0が追加される

iOS VLC でSMB共有できなかった点について

無線LANルータの選択肢が、NEC Aterm 静的ルーティングできない問題