
パッケージをインストールせずにDebianにカスタムCA証明書をインストールできますかca-certificate
?
私は各リリースのライフサイクルを超えてサーバーを実行する傾向があり、数年後には常に問題に直面しているようです。 cURLがサーバー、PHPopenssl.cafile
などcurl.cainfo
を検証できないなどの簡単な問題です。邪魔になるわけではありませんが、迷惑なことです。
今Busterをインストールしていますが、今回は最初から問題が発生しないことを願っています。
理想的にはダウンロードしたいです。cacert.pemcurl.se(Mozillaソースコード)からディレクトリに配置し、オペレーティングシステムとそれを必要とするすべてのソフトウェアにそれを使用するように指示します。これにより、期限が切れると、Call.seまたはMozillaソースから最新バージョンを再ダウンロードできます。
答え1
update-ca-certificates
実際にはシェルスクリプトです。この内容を読んで、必要に応じて一部を変更できます。
簡単に言えば、update-ca-certificates
証明書を追加すると、/etc/ssl/certs/
PEM形式の証明書ファイルへのシンボリックリンクが生成されます。update-ca-certificates
CA証明書はサフィックス付きのPEM形式のファイルでなければ*.crt
なり*.pem
ませ/etc/ssl/certs/<somename>.pem
ん/elsewhere/<somename>.crt
。
OpenSSLでは、信頼できるCA証明書を含むディレクトリにハッシュ経由でアクセスできる必要があるため、その/etc/ssl/certs/
ディレクトリ内に別のシンボリックリンクが作成されます<certificate hash>.0 -> <somename>.pem
。これは<certificate hash>
次のように手動で計算できます。
openssl x509 -in <certificate PEM file> -noout -hash
別の証明書に同じハッシュがある場合、セクションは一意の名前が見つかるまで増加してから.0
増加します。このハッシュはセキュリティメカニズムではありません。単に、OpenSSLが証明書を検証するときにハッシュを介して必要なCA証明書をすばやく見つけることを許可するだけです。.1
.2
または、cd /etc/ssl/certs; openssl rehash .
ディレクトリ内のすべての証明書のハッシュ化されたシンボリックリンクを作成するために使用できます。
/etc/ssl/certificates/ca-certificates.crt
信頼できるCA証明書のリストのみを単一のファイルとして受け入れるプログラムの場合は、新しい証明書PEMファイルの内容も追加されます。 PEM形式の証明書に末尾の改行文字がない場合、スクリプトは証明書をca-certificates.crt
。
スクリプトupdate-ca-certificates
は/etc/ca-certificates/update.d/
。
Javaパッケージのバージョンがインストールされている場合は、OpenSSL CAとまったく同じ証明書を含むように、証明書ディレクトリまたはファイル内のJavaキーストアファイルも更新するJavaパッケージによって削除されたスクリプトがある可能.dpkg
性があります。/etc/ca-certificates/update.d/jks-keystore
/etc/ssl/certs/java/cacerts
/etc/ssl/certs
/etc/ssl/certs/ca-certificates.crt
編集済み
答え2
my_own_ca.crt
にコピー/usr/local/share/ca-certificates
- スクリプトの実行
update-ca-certificates
update-ca-certificates
必要なsimlinkを作成し、/etc/ssl/certs/ca-certificates.crt アップデート文書。 LinuxユーティリティはデフォルトでこのファイルをCAファイルとしてwget
使用します。curl
または、CA ファイルを指定するか、証明書検証を無効にするスイッチを探します。 wgetの場合は次のようになります。
wget --no-check-certificate
– CA チェックを無効にします。wget --ca-certificate=file
- ファイルを認証局(「CA」)バンドルと共にファイルとして使用してピアを認証します。証明書はPEM形式でなければなりません。
はい
crt
サフィックスを使用して自分のCAをコピーします。/usr/local/share/ca-certificates
/usr/local/share/ca-certificates# ls -alFh
celkem 16K
drwxrwsr-x 2 root staff 4,0K úno 5 13:02 ./
drwxrwsr-x 7 root staff 4,0K kvě 7 2014 ../
-rw-r--r-- 1 root staff 1,5K úno 5 13:02 thawte-Primary-Root-CA-G3.crt
-rw-r--r-- 1 root staff 1,7K úno 5 13:01 thawte-SHA256-ssl-ca.crt
走るupdate-ca-certificates
/usr/local/share/ca-certificates# update-ca-certificates
Updating certificates in /etc/ssl/certs... WARNING: Skipping duplicate certificate thawte-Primary-Root-CA-G3.pem
WARNING: Skipping duplicate certificate thawte-Primary-Root-CA-G3.pem
WARNING: Skipping duplicate certificate thawte-primary-root.pem
WARNING: Skipping duplicate certificate thawte-primary-root.pem
2 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....done.
確認する:
/etc/ssl/certs# ls -alFh | grep local
lrwxrwxrwx 1 root root 62 úno 5 13:03 thawte-Primary-Root-CA-G3.pem -> /usr/local/share/ca-certificates/thawte-Primary-Root-CA-G3.crt
lrwxrwxrwx 1 root root 57 úno 5 13:03 thawte-SHA256-ssl-ca.pem -> /usr/local/share/ca-certificates/thawte-SHA256-ssl-ca.crt
/etc/ssl/certs# openssl crl2pkcs7 -nocrl -certfile /etc/ssl/certs/ca-certificates.crt | openssl pkcs7 -print_certs -noout
subject=/CN=ACEDICOM Root/OU=PKI/O=EDICOM/C=ES
issuer=/CN=ACEDICOM Root/OU=PKI/O=EDICOM/C=ES
subject=/C=CO/O=Sociedad Cameral de Certificaci\xC3\xB3n Digital - Certic\xC3\xA1mara S.A./CN=AC Ra\xC3\xADz Certic\xC3\xA1mara S.A.
issuer=/C=CO/O=Sociedad Cameral de Certificaci\xC3\xB3n Digital - Certic\xC3\xA1mara S.A./CN=AC Ra\xC3\xADz Certic\xC3\xA1mara S.A.
subject=/C=IT/L=Milan/O=Actalis S.p.A./03358520967/CN=Actalis Authentication Root CA
issuer=/C=IT/L=Milan/O=Actalis S.p.A./03358520967/CN=Actalis Authentication Root CA
subject=/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
issuer=/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
...
Find your CA