問題タブ [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.
c# - C# で Windows ローカル ユーザー証明書ストアに証明書をインストールする
サード パーティの Web サービスに接続するために、証明書ストアに複数の証明書が必要な Windows サービスを作成しています。
インストーラーで、サービスを実行するユーザーを作成する小さなアプリケーション (C#) を呼び出します。
それは正常に動作します。
現在、約 10 個の証明書をユーザーの証明書ストアにインストールする必要があります (聞かないでください!) が、そのための簡潔なプログラムによる方法が見つかりません。
ヒントはありますか?それとも、COM相互運用を使用する必要がありますか...
c# - C#の証明書ストアから証明書のリストを取得します
安全なアプリケーションの場合、ダイアログで証明書を選択する必要があります。C#を使用して証明書ストアまたはその一部(storeLocation="Local Machine"
およびなど)にアクセスし、そこからすべての証明書のコレクションを取得するにはどうすればよいですか?storeName="My"
よろしくお願いします。
visual-studio - 「私の」証明書ストアはどこに行きましたか?
私は素晴らしいので、7 ボックスで VS2k10 B2 を使用して最新の WIF デモ アプリを実行しようとしています... もちろん 64 ビット (私の首ひげは強いです) 実行するのに問題があります。
デモ全体の一部では、ローカル マシンにいくつかの証明書をインストールする必要があります。問題は、Web サイト証明書の一部をLocalMachine/Myという証明書ストアにインストールするように求められることです。さて、/Myはもうないようです。Personalと呼ばれる疑わしい類似のストアが表示されますが、そこに証明書をインストールし、 LocalMachine/Personalを参照するように構成を変更すると、アプリは機能しません。
TrustedPeopleに証明書をインストールした場合(Personal を使用しようとしたときにスローされた例外によって有効な場所として言及されています) 、それで十分ですか? これを行うと、実稼働マシンで悪いフォームと見なされますか?
Windows Identity Foundation テスト プロジェクトは、http: //claimsbasedwpf.codeplex.comにあります。
例外:
プロパティ名: 'certificateReference' エラー: 'ID1025: 条件に一致する一意の証明書が見つかりません。StoreName: 'My' StoreLocation: 'LocalMachine' X509FindType: 'FindBySubjectDistinguishedName' FindValue: 'CN=busta-rpsts.com''
certificate - OpenSSL SSL_CTX_use_PrivateKey_file と Windows 証明書ストア
TLS に OpenSSL を使用するネイティブ C++ ライブラリがあります。SSL_CTX_use_PrivateKey_file を使用して秘密鍵を読み取り、すべて問題ありません。
次に、特定の OID とサブジェクト名に従って Windows 証明書ストアから証明書を読み取る C# ラッパーを作成しました。ここに問題があります。複数の証明書を取得する可能性があります。どうすれば対処できますか?それらすべてを試してみませんか?
PEM ファイルに複数の秘密鍵を保持することは可能ですか?
どうもありがとうございました。
java - Java でローカル マシンの証明書ストアにアクセスしますか?
Java サーブレットから (現在のユーザーではなく) ローカル マシン ストアに保存されている証明書にアクセスすることは可能ですか? 「Windows-MY」および「Windows-ROOT」ストアを開く MSCAPI プロバイダーを使用してみましたが、ローカル コンピューター ストアからの証明書はどちらにも含まれていません。
c# - C#で証明書ストア名のリストを取得する
次のステートメントを使用して、特定のストアで証明書コレクションを取得できます。
X509Store.Certificates
しかし、現在のユーザーまたはローカルマシンに存在する証明書ストア名のリストを取得する方法がわかりません。StoreNameの列挙も確認しましたが、標準のストア名のみがリストされ、ユーザーが定義したものはリストされていません。
特定のストアの証明書のリストではなく、証明書ストアのリストが必要です。
x509certificate - WCF、証明書認証 - 一般的なエラーと紛らわしい引数
クライアントの認証に証明書を使用するように WCF サービスをセットアップしようとしています。証明書の作成方法に関する多くの投稿を読みましたが、(最終的に) 作成することができました。
Windows 2008 R2 を実行するサーバーに Cert Authority と Cert をインストールしています。MMC 証明書スナップインを開くと、[コンピューター アカウント]を選択します。これは正しいです?私のWCFサービスはWindowsサービスで実行され、ユーザーがログインしていなくても実行されるため、これを行っています。しかし、確かに、3つのオプションの違いはわかりません。
- 私のユーザーアカウント
- サービス アカウント
- コンピューター アカウント
スナップインが読み込まれたら、Authority Cert をTrusted Root Certification Authoritiesにインポートします。次に、証明書をTrusted Publishersにインポートします。これを行うときにエラーは発生しません。Authority Cert とその機関によって署名された Cert の両方をインポートするとき、.pvk ファイルを参照しません。秘密鍵が証明書または機関証明書のいずれかに埋め込まれていることは理解しています。各証明書を作成するために使用するコマンドは次のとおりです。
-ss root を使用したことに注意してください。-ss My を使用した多くの投稿を見てきました。違いが何であるか、または各値を使用するのが適切な場合はよくわかりません。
私の WCF サービスは、マネージド サービス (Windows サービス) 内のこのマシンで実行されます。WCF サービスをホストする Windows サービスを開始すると、すぐにクラッシュし、イベント ビューアーに一般的なエラーが報告されます。
System.ArgumentException: 証明書 'CN=TempCertName' に鍵交換が可能な秘密鍵がないか、プロセスに秘密鍵へのアクセス権がない可能性があります
サービスを実行しているユーザーにキーへのアクセス許可を付与する必要があるという投稿を見つけました。
これは、stackoverflow でよくある回答のようです: Grant access with All Tasks/Manage Private Keys
しかし、すべてのタスク/秘密鍵の管理のオプションがありません
しかし、私はそれを行う方法が明確ではありません。また、サービスは、管理者であり、証明書をインストールしたのと同じユーザーでもある私のドメイン アカウントで実行されています。
助けてください :)
windows - OpenSSL で Windows 証明書ストアの証明書と秘密鍵を使用する
Delphi XE で Web サービスを使用するプログラムを作成しようとしています。Web サービスに接続するには、Windows 証明書ストアに保存されている自己署名証明書を使用する必要があります。CertOpenSystemStore で証明書ストアを開き、証明書を取得してCertFindCertificateInStore
で設定しSSL_CTX_use_certificate
ます。これで問題ありません。次に、公開鍵のブロブを取得し、次のCryptExportKey
ような秘密鍵を作成します。
SSL_CTX_use_PrivateKey
それから andでセットアップしましたSSL_CTX_check_private_key
- 今のところ問題ありません。しかし、データ転送が始まると、libeay32.dll でアクセス違反が発生します。.pem ファイルからキーをロードすると、すべて問題ありません。何が間違っているのかわかりません。助けてください:)
正確なエラーメッセージは次のとおりです。
モジュール「libeay32.dll」のアドレス 09881C5F でアクセス違反が発生しました。アドレス 00000000 の読み取り。
libeay32.dll のバージョンは 1.0.0.5 です。バージョン0.9.somethingでも試してみました-同じエラーが発生しましたが、アドレスが異なります。
以下は、私が取得する RSA 構造ですPrivKeyBlob2RSA
。
n と e の bignum をチェックしたところ、それらは正しく、他のすべては問題ないように見えました。はい、 function を呼び出すときにエラーが発生しますssl_read
。
delphi - Delphi で Windows ルート証明機関の証明書にアクセスするにはどうすればよいですか?
Lazarus または Delphi に関する質問です。Windows で信頼されたルート証明機関の証明書にプログラムでアクセスする方法はありますか。Windows に「mmc.exe」という GUI ベースのツールがあることは知っていますが、Object Pascal 構文を使用して証明書ファイル (.crt、.cer、.pem など) にアクセスする必要があります。誰でもそれで私を助けることができますか?
encryption - NTFS EFS : あるファイルから別のファイルに暗号化証明書をコピーする方法は?
1 つのマーカー ファイルに関連付けられているすべての暗号化証明書を、一連の他のファイルにコピーしたいと考えています。
確かに、QueryUsersOnEncryptedFile
a を返す関数がPENCRYPTION_CERTIFICATE_HASH_LIST
あり、AddUsersToEncryptedFile
a を取る関数がありPENCRYPTION_CERTIFICATE_LIST
ます。
したがって、私が理解している限り、証明書をコピーするには、これらのハッシュを変換して証明書のリストに戻す必要があります。
この移行を行うために、私はCertFindCertificateInStore
. それはある程度うまくいきましたが、すべての証明書ではなく、どの証明書ストアに問い合わせるべきかさえわかりません...いくつか試してみました: CA
, ROOT
, MY
, SPC
, Trust
, TrustedPeople
(AuthRoot
そしてAddressBook
すでに期限切れになっているものなど、古い証明書のキャッシュが含まれていますが、ハッシュされているすべての証明書にアクセスできるものはありませんでした。
では、証明書ハッシュを証明書自体に確実にマップするにはどうすればよいでしょうか? (いくつかのサンプルコードはいいでしょう。)
前もって感謝します!
補足として:
これらの同じターゲット ファイルから他のすべての証明書も削除したいと思います。この目的のために、 と呼ばれる利用可能な関数がありRemoveUsersFromEncryptedFile
、これもPENCRYPTION_CERTIFICATE_HASH_LIST
.
このリストは、最初QueryUsersOnEncryptedFile
に各ファイルを呼び出して収集し、結果の証明書ハッシュ リストをRemoveUsersFromEncryptedFile
(同じファイルで) に渡すことができると思います。
ただし、注意点があります。すべての証明書を失いたくありません。そうしないと、ファイルに誰もアクセスできなくなります。この中間ハッシュ リストから、自分自身の (および拡張により他の許可された) 証明書ハッシュを安全に消去できますか? (専用機能もあると思いFreeEncryptionCertificateHashList
ます。)