問題タブ [x509certificate2]
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# - X509Certificate2 が BLOB からの作成に失敗することがあるのはなぜですか?
.pfx
X.509 証明書を含むファイルの内容を表すバイト配列を受け取る ASP.NET Web サービスがあります。サーバー側のコードは、System.Security.Cryptography.X509Certificate2
コンストラクターを使用してバイトから証明書をロードしています。
サービス プロセスが誰として実行されているかに応じて、この呼び出しは成功するか、「内部エラー」例外で失敗します。例外スタックの最後の呼び出しはです。X509Utils._LoadCertFromBlob
これは のアンマネージ コードですmscore.dll
。
このコードは、サービス アカウントの資格情報を使用して対話型ログインでコンソール アプリケーションから実行すると成功します。w3wp.exe
サービス アカウントの資格情報を使用するアプリケーション プールで実行すると失敗します。アプリ プール ID を管理者に変更すると問題が解決するため、権限の問題であるに違いありませんが、これにはどのような権限が必要なのかわかりません。このコードは、ファイル システムや Windows 証明書ストアには触れません。
[更新: 詳細情報]
Windows イベント ログに次のエラーが表示されます。
何か案は?
c# - C#でファイル/ストリームからPkcs#7証明書チェーンを読み取る方法は?
ディスクに保存した 2 つの証明書があります。1 つは、.pfx ファイルとしてエクスポートした秘密鍵を含む証明書で、もう 1 つは、証明書チェーンを含めて PKCS#7 ファイル ("certchain.p7b") として保存した証明書です。
C# では、.pfx ファイルを次のようにロードできるようになりました。
(myPfxFileStream はFileStream
読み取り用に .pfx ファイルに開かれています)、しかし、PKCs#7 証明書で同じことを試みると、CryptoGraphicException
「無効なインデックス値」に変換される「Der Indexwert ist ungültig」で失敗します。
PKCS#7 を別の方法で解析する必要があると思います (単一の証明書ではなく、チェーンが含まれています!)。
(ちなみに、現在、これらの証明書にはパスワードがありません)
pki - DOD Common Access Card (CAC) 認証
DOD CAC カード ベースのクライアント証明書認証を Apache で機能させるために必要なすべての手順を理解しましたが、受け取った証明書からユーザーの適切な GUID を取得するのに苦労しています。CAC カードが更新されても変更されない、証明書で使用可能な GUID はありますか? 次のような SSL_CLIENT_S_DN を使用することを考えていました。
/C=US/O=米国政府/OU=DoD/OU=PKI/OU=CONTRACTOR/CN=LAST_NAME.FIRST_NAME.MIDDLE_NAME.0123456789
ですが、CACカードを更新すると末尾の数字が変わると聞きました。これは本当ですか?GUID に使用するより良い情報はありますか? ユーザーの電子メール アドレスも取得したいのですが、証明書から受け取った情報に記載されていません。表示されていないカスタム拡張機能で電子メール アドレスを使用できますか?
ありがとう!
ruby - 自身の CA からの OpenSSL 検証証明書
こんにちは。これを読んでくれてありがとう。
証明書を持っている自分の CA によって発行された証明書を検証する必要があります。opensslと同等のことを行うにはどうすればよいですか
openssl 検証 -CAfile
Rubyコードで?この点では、OpenSSL の RDoc はあまり役に立ちません。私はもう試した:
しかし、私は得る:
http://www.ruby-doc.org/stdlib/libdoc/openssl/rdoc/index.htmlの OpenSSL Rdoc で「検証」を見つけることさえできません 。
どんな助けでも大歓迎です。再度、感謝します!
.net - .NET でクライアント アプリの証明書を作成する
自己署名ルートを使用してクライアント アプリケーションの証明書を定期的に生成するサーバー アプリを探しています。これらの証明書をプログラムで生成するための合理化されたプロセスが .NET にありませんか?
もちろん、makecert または openssl を生成し続けることもできますが、出力で X509Certificate を取得するだけで、よりプログラム的なインメモリ メソッドを探していました。
誰かがコード スニペットを入手した場合は、共有していただけますか?
c# - httprequest C# からクライアント証明書を読み取る
Request.ClientCertificate を使用して X509 証明書を読み取ろうとしていますが、何も返されません。リクエストを送信するページから証明書情報を取得できるため、証明書は間違いなくリクエストに添付されています。
いくつかの異なる場所から証明書を読み取ろうとしましたが、機能しないようです。
この KB Articleのコードから始めました。要求されたページで、証明書に関する情報を印刷しようとしましたが、応答で何も返されませんでした。
これは IIS 5.1 で実行されており、通信は SSL 経由です。これは、.Net フレームワークのバージョン 2 を使用して行う必要があります。
証明書が消えているように見えるのはなぜですか?
c# - 秘密鍵なしでX.509証明書をエクスポートする
これは簡単だと思いましたが、そうではないようです。エクスポート可能な秘密鍵を持つ証明書をインストールしていますが、プログラムで公開鍵のみを使用してエクスポートしたいと考えています。つまり、certmgrを介してエクスポートして.CERにエクスポートするときに、「秘密鍵をエクスポートしない」を選択した場合と同等の結果が必要です。
すべてのX509Certificate2.Exportメソッドは、秘密鍵が存在する場合、PKCS#12としてエクスポートするようです。これは、私が望むものとは逆です。
これを実現するためにC#を使用する方法はありますか、それともCAPICOMを掘り下げる必要がありますか?
c# - Web サービスでクライアントから送信された X509Certificate を取得するにはどうすればよいですか?
どうやら、以前の投稿で間違った質問をしていたようです。X.509 証明書で保護された Web サービスを、安全な Web サイト ( https://.. .) として実行しています。会社のルート CA によって発行されたクライアントのマシン証明書 (X.509 も) を使用して、クライアント マシンがサービスの使用を許可されていることをサーバーに確認したいと考えています。これを行うには、証明書を調べて識別機能を探し、それをデータベースに保存されている値 (おそらく拇印?) と照合する必要があります。
ローカル証明書ストアから証明書を取得するために使用するコードを次に示します ( http://msdn.microsoft.com/en-us/magazine/cc163454.aspxから直接引用):
次に、次のように証明書を送信ストリームに添付します。
私の質問はこれです - Web サービスコードで証明書を「取得」するにはどうすればよいですか? 私が遭遇したほとんどのサンプル コード スニペットでは、カスタム検証を行う方法をカバーしており、そこに GetCertificate() 呼び出しが含まれています。
私のメイン クラスは WebService を継承しているため、Context.Request.ClientCertificate を使用して証明書を取得できますが、これは X509Certificate2 ではなく HttpClientCertificate です。HttpContext でも同じ結果が得られます。他のアプローチはすべて、Web 構成コードを使用して事前定義された検証コードを呼び出しますが、カスタム C# メソッドを呼び出して検証を行う方法についての手がかりはありません。
.net - 任意のHTTPSURLからX509Certificateを取得するにはどうすればよいですか?
HttpWebRequest
任意のHTTPSURLからページをプルするために使用しています。X509Certificate2
実際のページ結果に加えて、先ほど話したリモートサーバーのインスタンスを取得したいと思います。要求の一部としてチェーンを検証する必要があったため、公開証明書はコンピューターのどこかにあると確信しています。どうすればアクセスできますか?
また、SSLチャネルで使用されている暗号スイートが単にヌルの暗号スイートではないことを確認するにはどうすればよいですか?適切な暗号化が実際に行われていることを確認する必要があります。
pki - C#証明書をpfx形式でエクスポートする
証明書ストアからPFX
ファイルに証明書をエクスポートするためのNET。X509certificate2.Export
フラグを設定してメソッドを使用しようとしていますX509ContentType.Pfx
が、返されたバイト配列を処理してファイルに正しく出力する方法がわかりません。
助けていただければ幸いです。