問題タブ [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.
certificate-store - Azure Web アプリの証明書の場所
ローカル マシンで実行しているときに証明書を見つけることができる MVC Web アプリがあります。すべて正常に動作します。
Azure にデプロイしようとすると、問題が発生します。
Azure に webapp があり、公開しています。証明書を必要としないものはすべて正常に動作します。
私のコードでは、 CertificateStore = "My" と CeritfaceteStoreLocation = "LocalMachine" を持っています
これが問題だと確信していますが、解決策はわかりません。
Azure portal の Webapp 構成セクションの下に、証明書があります。
(私は拇印でそれを見つけようとしています)
何かご意見は?
ティア
c# - 証明書はWindows 10 C#を保存します
私は必死で、この問題について話している投稿がどこにも見つからなかったので、これを尋ねています。
私の WinForms C# アプリケーションでは、次のコードを使用して Windows 証明書を取得しています。
これは、Windows XP から Windows 8.1 まで、すべての Windows バージョンで魅力的に機能します。Windows 10 では、最初の試行で機能します。もう一度やると、待たされて動けなくなります。
私は 60 秒の「タイムアウト タイマー」を実装しようとしました: 提供されたコードはちょうどタイムアウトします。
ユーザーが証明書を含む USB キー (またはスマートカード) を PC から取り外し、再度挿入すると、問題は解決されます。
誰かがこの動作の解決策を持っていますか? Windows 10 にアップグレードする顧客は私に腹を立てており、どうすればよいかわかりません。
java - SunMSCAPI を使用して MY ストアの LocalMachine 証明書にアクセスできますか?
SunMSCAPI プロバイダーを使用して MY ストア内の LocalMachine 証明書にアクセスできないことを明確に述べている Oracle リファレンスはどこかにありますか?
ありがとう、バート
ssl - SSL 接続、Windows 証明書ストア、および CAPI エンジン
SSL
OpenSSL API を使用して接続を作成しています。SSL ハンドシェイクでわかるように、一連の証明書認証はサーバーまたはクライアントに対して行われます。クライアント証明書認証のために、クライアントの証明書と関連する秘密鍵が に保存されるようになりましたWindows Certificate Store
。
この証明書は、それらを形式private key
に結合した後にストアにインポートされ、そのファイルは Windows 証明書ストアにインポートされます。スナップインを使用してこの pfx ファイルをインポートすると、秘密鍵を作成するかどうかを尋ねられます。これで、SSL 接続を行うために OpenSSL が登場します。pfx
pfx
mmc
exportable
そのためには、SSL_CTX
すべての接続関連のプロパティがロードされるオブジェクトを作成する必要があります。Windows証明書ストアから秘密鍵をSSL_CTX
オブジェクトにロードするためexportable
に、Crypto API
. しかし、秘密鍵をエクスポート可能にマークすることは意味がないと思います。これはセキュリティ違反です。
秘密鍵は常にそのようにマークさNon-Exportable
れるため、SSL 接続を確立するために Windows 証明書ストアから SST_CTX オブジェクトに秘密鍵を直接読み取ってロードできる OpenSSL のメソッドまたは API などはありますか。
これが機能する方法があることは間違いありませんが、取得できません。私はこれをたくさん探しましたが、必要なものを手に入れませんでした。
要約された質問: 証明書ストアには、多くの証明書と関連する秘密鍵が保持されています。SSL 接続を確立するときに、証明書と秘密鍵はどのようにアクセスされますか?
編集:私は呼ばれるopensslエンジンAPIを通過しました
key_id
これで秘密鍵を取得するにはどうすればよいですか。また、この API は内部的に暗号 APICryptExportKey
と呼ばれ、秘密鍵がマークされている場合、この API は失敗すると思いますnon-exportable
。
cryptoapi - CertFindCertificateInStore が失敗し、オブジェクトまたはプロパティが見つからない
実際には、共通名に基づいて証明書を検索しています。そのために私たちはやった:-
// Find the certificate context
if (pCertContext = CertFindCertificateInStore(hCertStore, X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, 0, CERT_FIND_SUBJECT_ATTR, &certRDN, NULL))
My Store には、指定された共通名を持つ目的の証明書が含まれていますが、API によって見つからないため、null が返されます。
問題が見つかりません。
c# - 新しい RSACryptoServiceProvider をインスタンス化しようとすると「キーセットが存在しません」
秘密鍵のアクセス許可の管理など、証明書の展開を自動化しようとしています。この質問を使用して、証明書のアクセス許可を更新するコードをいくつかまとめました。
読み取る行using (var rsa2 = new RSACryptoServiceProvider(cspParams))
(新しい暗号化プロバイダーがインスタンス化されて新しいアクセス ルールが保持される場所) で、CryptographicException "Keyset does not exist" が発生します。
これは通常、現在のセキュリティ コンテキストに主キーへのアクセス許可がないことを意味することを経験から知っています。この可能性をトラブルシューティングするために、次のことを行いました。
System.Security.Principal.WindowsIdentity.GetCurrent()
イミディエイト ウィンドウで現在のユーザーが何を持っているかを把握する- そのユーザーが証明書の MMC スナップインでフル コントロールのアクセス許可を持っていることを確認します (そして、証明書の適切なストアを見ていることを再確認します)。
- Everyone ユーザーにフル コントロールを付与します。
- KeyPassword を使用して、または使用せずに CspParameters オブジェクトを作成しようとしました (そこにコメントが付けられていることがわかります)。
私はアイデアがありません。証明書は偽の自己署名テスト証明書であるため、チェーン内の他の証明書に権限がないことは問題ではありません。どんな助けでも大歓迎です。
アップデート:
このコードは、このステップの前にある証明書のインストール用のフラグの一部を変更することで実行できました。これで、コードが正常に実行されたように見えますが、MMC で確認できる目に見える効果はありません。