問題タブ [certificate-store]

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.

0 投票する
2 に答える
1163 参照

c++ - C/C++ で新しい証明書ストアを作成する

C/C++ を使用してプログラムで Windows に新しい証明書ストアを作成しようとしています。

この関数 - から始めて、CryptAcquireContext次のコードを書きました。

コンテナー名とプロバイダー名の値は、私が従うことになっている設計ドキュメントから取得されました。

これを実行して MMC の証明書スナップインを開いた後、指定された名前のストアが表示されないため、これがストアを作成する正しい方法であるかどうかわかりません。このプログラムは、最初の実行時に 1 を出力し、2 回目以降は 0 を出力します。

これは正しい方法ですか?はいの場合、MMC にストアが表示されないのはなぜですか? いいえの場合、C/C++ を使用して新しい証明書ストアを作成する正しい方法は何ですか?

コードに間違いがあれば遠慮なく指摘してください。

0 投票する
1 に答える
192 参照

java - Java キーストアには何が必要ですか?

私は純粋な Windows/IIS 環境から来ています。私が知っているのはそれだけで、かろうじてです。Java/Tomcat で実行されるサイトに適用したい GeoTrust から購入したワイルドカード証明書があります。どうやら私はJavaキーストアを作成することになっています。過去に、エクスポートされた PFX ファイルを Java キーストアに正常に変換したことがあります。暗号化された PFX ファイルの内容を (OpenSSL を使用して) 取得し、複数の暗号化されていない .pem ファイルに分割し、それらのヘッダーを削除し、それらを .der ファイルに変換して配置しました (私が秘密鍵であると判断したものと、ルート証明書) を .jks Java キーストアに入れます。

これは私が使用したときはうまくいったように見えましたが、今は再実装する必要があり、何が起こっているのかを理解したいと思っています.CA証明書が必要ですか? もしそうなら、それらは別々にすべきですか、それとも一緒にすべきですか(私は2つあると思います)?ルート証明書は必要ですか? エイリアスとの取引は何ですか?秘密鍵とキーストア自体の両方がパスワードで保護されていますか?

それは私が知っていることです。どんな助けでも大歓迎です。

0 投票する
20 に答える
81789 参照

c# - 証明書の秘密鍵を読み込もうとすると「指定されたプロバイダーの種類が無効です」CryptographicException

サードパーティのサービス プロバイダから共有された証明書の秘密キーを読み取ろうとしています。これを使用して XML を暗号化してからネットワーク経由で送信できます。私は C# でプログラムでこれを行っていますが、これはアクセス許可または構成ミスの問題だと思うので、最も関連性が高いと思われる事実に焦点を当てます。

  • この問題はコードに関連しているとは思いません。私のコードは他のコンピューターで動作し、この問題は Microsoft のサンプル コードに影響します。
  • 証明書は PFX ファイルとして提供されており、テスト目的のためだけのものであるため、ダミーの証明機関も含まれています。
  • MMC.exe を使用して、証明書をローカル マシンの個人用ストアにインポートしてから、関連するすべてのアカウントに秘密キーのアクセス許可を付与し、証明機関を信頼されたルート証明機関にドラッグ アンド ドロップします。
  • C# を使用して、(拇印で識別される) 証明書を読み込み、X509Certificate2.HasPrivateKey. ただし、キーを読み取ろうとするとエラーが発生します。.NET ではCryptographicException、プロパティにアクセスしようとすると、「無効なプロバイダ タイプが指定されました」というメッセージがスローされますX509Certificate2.PrivateKey。Win32 では、メソッドを呼び出すとCryptAcquireCertificatePrivateKey、同等の HRESULT が返されますNTE_BAD_PROV_TYPE
  • これは、Microsoft 独自の 2 つのコード サンプルを使用して証明書の秘密キーを読み取るときに発生する例外と同じです。
  • ローカル マシンではなく、現在のユーザーの同等のストアに同じ証明書をインストールすると、秘密鍵を正常に読み込むことができます。
  • 私は Windows 8.1 をローカル管理者権限で使用しており、通常モードと昇格モードの両方でコードを実行しようとしました。Windows 7 と Windows 8 の同僚は、同じ証明書のローカル マシン ストアからキーを読み込むことができました。
  • 同じストアの場所にある自己署名 IIS テスト証明書の秘密キーを正常に読み取ることができます。
  • 既に .NET 4.5 をターゲットにしています (このエラーは、フレームワークの一部の古いバージョンで報告されています)。
  • これは証明書テンプレートの問題ではないと思います。ローカル マシンと現在のユーザー ストアの両方に等しく影響すると予想されるからです。

同僚とは異なり、IIS マネージャーを使用したり、同じ発行者からの古い証明書を含めたりするなど、さまざまな方法で証明書のアンインストールと再インストールを何度も試みました。MMC に古い証明書または重複した証明書の痕跡が見当たりません。しかし、同じサイズの秘密鍵ファイルが多数あります。最終書き込み時間に基づいて、さまざまなインストール試行の後に取り残されているに違いありません。これらは、それぞれローカル マシンと現在のユーザー ストアの次の場所にあります。

c:\ProgramData\Microsoft\Crypto\RSA\MachineKeys

c:\Users\\AppData\Roaming\Microsoft\Crypto\RSA\S-1-5-21-[残りのユーザー ID]

それで、誰でもアドバイスしてもらえますか:

  • MMC を使用して証明書をアンインストールし、孤立した秘密鍵のように見えるすべてのファイルを削除してから、証明書を再インストールして再試行することをお勧めします。
  • 手動で削除する必要がある他のファイルはありますか?
  • 他に試してみるべきことはありますか?

更新 - 秘密鍵を読み取る試みを示すコード サンプルを追加しました。

0 投票する
3 に答える
71281 参照

windows - 個人用証明書ストアと Web ホスティング証明書ストアの違いは何ですか?

ここに画像の説明を入力

インターネット インフォメーション サービス マネージャーでは、証明書を作成またはインポートするときに、個人用証明書ストアと Web ホスティング証明書ストアのどちらかを選択できます。

違いは何ですか?

0 投票する
2 に答える
3775 参照

c# - x509Store に証明書を追加しても何も実行されない C#

証明書を追加しようとしていますが、追加機能は何もしていないようです。

私は2つの証明書を持っています。どちらも、右クリックして個人の「testStore」ストアに保存することで手動で追加できますが、プログラムで追加しようとすると保存されません。それらの 1 つだけを追加したところ、X509Store オブジェクトには期待どおりにそれが含まれていますが、.Add(cert) を呼び出すと、そこには何も保存されません。

何か不足していますか?

編集 StorePermission (以下のように) を使用してみました。また、管理者アカウントになりすまそうとしましたが、どちらも役に立ちませんでした。

0 投票する
4 に答える
51203 参照

certificate - certutil: 関数が失敗しました: SEC_ERROR_LEGACY_DATABASE: 証明書/キー データベースは、サポートされていない古い形式です

cert8.dbに保存されているiceweasel(firefox)を使用して、検証済みの(自己署名ではない)S / MIME証明書をダウンロードしました

それから私は使用しました:

証明書を一覧表示するために、certutil から提供された証明書の名前を使用して .p12 ファイルを抽出しました。

問題は、p12 が保存されていた PCへのアクセスを失い、別の PC にcert8.db のコピーしかないことです。したがって、コマンドを繰り返しましたcertutil && pk12utilが、certutil は次のエラーで失敗します。

カーネルとlibnss3-toolsバージョンが同じものを含む3台の異なるコンピューターで必死に試しました(p12を正常に抽出した最初のデスクトップのように)。

libnss3-toolsバージョン: 2:3.17.2-1

何かご意見は?

ありがとう