#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ファイル|

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS