ca-certificatesパッケージなしでDebianにカスタムCA証明書をインストールできますか?

ca-certificatesパッケージなしでDebianにカスタムCA証明書をインストールできますか?

パッケージをインストールせずに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-certificatesCA証明書はサフィックス付きの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

関連情報