#author("2019-07-06T11:15:26+00:00","default:wikiadmin","wikiadmin") #author("2024-04-10T10:31:23+00:00","default:wikiadmin","wikiadmin") SSHやSSLのベースとなるソフトウェア *暗号化復号化 [#v68bfebd] -CentOS 7は成功。Ubuntuだと複合失敗 echo "hoge" | openssl enc -e -aes-256-cbc -base64 -k "foo" echo "U2FsdGVkX18ZCcoBKxLDKZuP3HhHUinBMghKL0Gx3KI=" | openssl enc -d -aes-256-cbc -base64 -k "foo" *コンパイル [#e4083f34] ./config -fPIC shared make make install *SNIとは [#d891d898] SSLのNameVirtualHost今時のブラウザなら対応済み! *クライアント証明書による認証 [#z619579e] 通常はサーバーに証明書を入れるが、クライアント側に証明書を入れて、アクセス元が正しいかを判定する。クライアント証明書がクライアント/個人の身元特定に使用され、サーバ証明書は Web サイトの所有者を証明するという点です。 *クライアント証明書作成 [#e1305bb7] https://www.kakiro-web.com/linux/ssl-client.html **手順概要 [#g8228b7f] +独自認証局の作成(複数証明書対応させるため!) +CSRの作成 +独自認証局によるクライアント証明書作成 +ブラウザにインストール <If "! -R '10.0.0.0/8' && ! -R '172.16.0.0/12' && ! -R '192.168.0.0/16'"> SSLVerifyClient require SSLVerifyDepth 1 SSLOptions +FakeBasicAuth AuthUserFile /etc/httpd/conf/.htpasswd AuthName "secret page" AuthType Basic require valid-user </If> ***独自認証局の作成 [#a7744ff0] openssl req -x509 -newkey rsa:2048 -nodes -keyout ca.key -sha256 -days 3650 -out ca.crt ca.keyとca.crtが出力ファイル。common nameはCSRと揃えるように! ***CSRの作成 [#o18ce20a] 証明書と同じでkey作成して、csrを作成 openssl rsa -in client01.key -text -noout openssl req -new -key client01.key -out client01.csr ***CSRをもとに証明書作成 [#zab8a013] openssl ca -in csr/client01.csr -out client01.crt -keyfile myca/ca.key -cert myca/ca.crt -md sha256 -days 3650 -policy policy_anything このコマンドを実行するとserialが+1され、indexファイルも更新される ***認証局に必要なファイル [#q192b874] |/etc/pki/CA/index.txt|作成した証明書の有効状態を管理。空で良い| |/etc/pki/CA/serial|01からスタートのシーケンスファイル| |/etc/pki/CA/newcerts/01.pem|csrに対応したシリアル番号のpemファイル|