私自分だけの認証機関になってみてください。次のチュートリアルを完了した後:https://jamielinux.com/docs/openssl-certificate-authority/
ルートペアを作成し、中間ペアを作成し、次のようにSquidにインストールしたサーバー証明書に署名しました。
http_port 3129 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid3/certs/gatesentry.csr.cert.pem key=/etc/squid3/key/gatesentry.key.pem
存在するsquid3.conf
イカはこれから始まります。実際に動作するかどうかはまだわかりません。
プロキシ経由でインターネットにアクセスするブラウザにインストールするためにクライアント証明書を生成しようとすると、次のエラーが発生します。
私は以下に基づいて生成します。「証明書の作成」という「サーバーおよびクライアント証明書の署名」セクション
認証用にクライアント証明書を生成するには、「usr_crt」拡張を使用する必要があることが示されているので、次のようにします。
cd /root/ca
openssl ca -config intermediate/openssl.conf \
-extensions usr_cert -days 375 -notext -md sha256 \
-in intermediate/csr/gatesentry.csr.pem \
-out intermediate/certs/client.cert.pem
Using configuration from intermediate/openssl.conf
Enter pass phrase for /root/ca/intermediate/private/intermediate.key.pem:
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number: 4097 (0x1001)
Validity
Not Before: Jun 22 10:36:44 2016 GMT
Not After : Jul 2 10:36:44 2017 GMT
Subject:
countryName = US
stateOrProvinceName = Pennsylvania
localityName = locality
organizationName = Parents
organizationalUnitName = Security
commonName = gatesentry.domain.lan
emailAddress = [email protected]
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Cert Type:
SSL Client, S/MIME
Netscape Comment:
OpenSSL Generated Client Certificate
X509v3 Subject Key Identifier:
XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
X509v3 Authority Key Identifier:
keyid:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
X509v3 Key Usage: critical
Digital Signature, Non Repudiation, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Client Authentication, E-mail Protection
Certificate is to be certified until Jul 2 10:36:44 2017 GMT (375 days)
Sign the certificate? [y/n]: y
failed to update database
TXT_DB error number 2
rootでコマンドを実行すると(もちろん、別のコンピュータで)TXT_DBエラー番号2メッセージが表示される理由がわかりません。
チュートリアルによると、このプロセスで一般名を変更できる必要があります。
ベストアンサー1
TXT_DB error number 2
DB_ERROR_INDEX_CLASH を示します。
同じインデックスを持つ証明書をOpenSSL CAデータベースに2回送信しようとしました。
これは通常、同じシリアル番号または同じ一般名を含むデータベースに送信された証明書が原因で発生します。後者の場合は、ファイルunique_subject
でそのオプションを確認してください。intermediate/openssl.conf
で読むことができます。man ca
クライアント証明書の一般名は、ユーザー名など何でも構いません。
一般名はファイルに割り当てられますintermediate/openssl.conf
。値の入力を求めるか、構成ファイルから値を読み取るように構成できます。これprompt
はで読み取ることができるオプションによって制御されますman req
。