問題タブ [certutil]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
powershell - 外部ツールなしでサーバー 2008 R2 から p7b ファイルへのチェーン付き x509 証明書のエクスポートを自動化しますか?
I manage the Domain Controllers centrally, but the site admins manage their own digital senders locally. I can easily export an X509 certificate (private key not needed) with the whole chain from a Windows Server 2008 R2 Domain Controller to a p7b file through the wizard:
~~~~~~~~~~~~~~~~~
...5. The Certificate Export Wizard opens. Click Next.
In the Export File Format dialog box, do the following:
a. Select Cryptographic Message Syntax Standard – PKCS #7 Certificates (.P7B).
b. Check Include all certificates in the certification path if possible.
c. Click Next.
In the File to Export dialog box, click Browse.
In the Save As dialog box, do the following:
a. In the File Name box, type ciroots.p7b.
b. In the Save as type box, select PKCS #7 Certificates (*.p7b).
c. Click Save.
In the File to Export dialog box, click Next.
[証明書のエクスポート ウィザードの完了] ページで、[完了] をクリックします。
~~~~~~~~~~~~~~~~~
それはうまくいきます。結果のファイルは、認証のためにデジタル送信者に問題なくインポートされます。サイト管理者がまだインポートしていない場合、チェーン内の他の証明書へのアクセスが許可されます。秘密鍵がなくても正常に機能するため、秘密鍵を含める必要はありません。
問題は、これを手動で、文字通り何十回も、ビジネス サイトごとに 1 回実行する必要があることです。これは、それぞれが独自の証明書を持つ独自のドメイン コントローラーを持っているためです。この証明書のエクスポートを自動化できる方法が必要です (PowerShell w/.NET、certutil.exe など)。System.Security.Cryptography.X509Certificates X509IncludeOption を WholeChain で使用するものかもしれませんが、動作させることができません。
$Cert = (dir Cert:\localmachine\my)[0]
# .p7b ファイル拡張子を持つ PKCS7 証明書のエクスポート。
$CertCollection = 新しいオブジェクト
System.Security.Cryptography.X509Certificates.X509Certificate2Collection
$証明書 | %{[void]$CertCollection.Add($_)}
$Exported_pkcs7 = $CertCollection.Export('Pkcs7')
$out_FileName = $ENV:COMPUTERNAME + ".p7b"
$My_Export_Path = 'd:\CertFiles\' + $out_FileName
Set-Content -path $My_Export_Path -Value $Exported_pkcs7 -encoding Byte
このコードでは、チェーン内の残りの証明書ではなく、証明書のみを取得します。スクリプト全体は必要ありません。既に GUI を使用して手動で実行できるチェーン付きのエクスポートを複製する部分だけです。
python - 証明書を暗号化しましょう、Python と Windows
"Let"s Encrypt"を使用して Web サーバーを HTTP から HTTPS に変更しました. Web サーバーには API が含まれており、API を使用する Python アプリケーションがあります。
Linux では問題ありませんが、Windows ではログイン時に以下のメッセージが表示されます。
私の考えでは、SSL証明書がインストールされていませんでした。
そこで、「isrgrootx1.der」と「lets-encrypt-x1-cross-signed.der」をダウンロードし、両方の名前を末尾の「*.cer」に変更しました。
次に、Windows コンソールを開き、これを実行します。
ルート証明書ではないため、2 番目のコマンドは失敗しました。私の質問は次のとおりです。「lets-encrypt-x1-cross-signed.cer」をインストールするグループはどれですか?
firefox - Firefox RootStore cert8.db/key3.db が存在しない
Firefox 45.0.1 を使用して、Windows (7) で Firefox ルート ストアにアクセスしたいと考えています。C:\Users\{username}\AppData\Local\Mozilla\Firefox\Profiles\8ab3jkih.default\cert8.db に移動するように指示するソースがいくつか見つかりました。残念ながら、8ab3jkih.default が存在します (そして唯一のフォルダー) が、cert8.db を見つけることができません。
certutil を使用して DB にアクセスしようとしましたが、これは機能しますが、-viewstore の証明書は 4 つしか得られません (約 150 のはずです)。その後、-getconfig と -databaselocations にアクセスしようとしましたが、システムが指定されたファイルを見つけられないことがわかりました。データベースの場所を見つけたいと思っていました。
はい、NSS については既に聞いたことがありますが、作業する前に、まず手動で試してみるべきだと考えました。
インストールに何か問題がありますか? 再インストールしてみるべきですか?他に何ができますか?私の終盤は、特定の特定の証明書がルート証明書であるかどうかを調べることなので、プログラムでルート証明書のリストにアクセスし、それらを特定の証明書と比較したいだけです。