SSHやSSLのベースとなるソフトウェア
echo "hoge" | openssl enc -e -aes-256-cbc -base64 -k "foo" echo "U2FsdGVkX18ZCcoBKxLDKZuP3HhHUinBMghKL0Gx3KI=" | openssl enc -d -aes-256-cbc -base64 -k "foo"
./config -fPIC shared make make install
SSLのNameVirtualHost今時のブラウザなら対応済み!
通常はサーバーに証明書を入れるが、クライアント側に証明書を入れて、アクセス元が正しいかを判定する。クライアント証明書がクライアント/個人の身元特定に使用され、サーバ証明書は Web サイトの所有者を証明するという点です。
https://www.kakiro-web.com/linux/ssl-client.html
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>
openssl req -x509 -newkey rsa:2048 -nodes -keyout ca.key -sha256 -days 3650 -out ca.crt
ca.keyとca.crtが出力ファイル。common nameはCSRと揃えるように!
証明書と同じでkey作成して、csrを作成
openssl rsa -in client01.key -text -noout openssl req -new -key client01.key -out client01.csr
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ファイルも更新される
/etc/pki/CA/index.txt | 作成した証明書の有効状態を管理。空で良い |
/etc/pki/CA/serial | 01からスタートのシーケンスファイル |
/etc/pki/CA/newcerts/01.pem | csrに対応したシリアル番号のpemファイル |