問題タブ [x509]
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# - snk対コード署名証明書
私の組織では、厳密な名前のアセンブリを持つsnkファイルを使用しています。自分でsnkを生成します。
さらに、バイナリでコード署名署名を使用します。Verisignからpfxを取得します。
- これら2つのプロセスの違いは何ですか?
- ベリサインからもsnkが届かないのも問題ではないですか?
.net - サービスアカウントがログインしていないと、WCFサービスは個人証明書ストアにアクセスできません
インターネット経由でSOAPWebサービスを呼び出すメソッドを持つWCFサービスを作成しました。
SOAP Webサービスを呼び出すには、HttpWebRequestを使用してX.509証明書を送信する必要があります。
X.509証明書は、サービスが実行されているアカウントの個人用および信頼できる証明書ストアにロードされます。
サービスアカウントがサーバーにログインすると、すべてが正常に機能します。
ただし、サービスアカウントがサーバーに物理的にログオンしていない場合、X.509証明書の読み込みに問題があり、HttpWebRequestを作成しようとしたときに認証に失敗します。
私はWCFサービスを初めて使用するため、どこから探し始めるかさえわかりません。
誰か助けてもらえますか?ありがとう。
c# - Compact Frameworkを使用してC#でX.509証明書を検証する方法
C#と.NetCFを使用してX.509証明書を検証しようとしています。私はCA証明書を持っています。正しく理解している場合は、このCA証明書の公開鍵を使用して、信頼できない証明書の署名を復号化する必要があります。これにより、信頼できない証明書の計算されたハッシュ値が得られるはずです。次に、証明書のハッシュを自分で計算し、2つの値が一致することを確認する必要があります。
私はこれで数日間遊んでいますが、それほど遠くはありません。X509CertificateクラスとRSACryptoServiceProviderクラスを使用しています。まず、X509Certificateクラスから公開鍵と署名を取得しようとしました。公開鍵は取得できましたが、署名は取得できませんでした。次に、証明書を構成するバイナリデータを解析して、署名(およびその他の必要なデータ)を取得できるようにしましたが、RSACryptoServiceProviderを使用して署名を復号化できませんでした。私はこのようなことを試みましたが、復号化しようとすると「不正なキー」という例外が発生し続けました。
アドバイスをいただければ幸いです。
編集:私はより良いように見えるが奇妙な結果を返している何かを試しました。テストが少し簡単なため、ここではX509Certificate2クラスを使用していますが、後で.NetCF用にX509Certificateに切り替える必要があります。RSACryptoServiceProvider.VerifyDataが必要なものかもしれないと思います。次のコードを試しました。
私が言ったように、私は証明書のバイナリデータを手動でデコードして解釈することができるので、cert.RawDataは証明書の署名されたデータであり、最後の256バイトは暗号化された署名であると確信しています。文字列は、証明書から取得したハッシュアルゴリズムのOIDですが、100%正しいかどうかはわかりません。VerificationDataはfalseを返しますが、理由はまだわかりません。
考え?
encryption - DER エンコーディング - 暗黙のタグを明示的なタグに変換する方法
次の IMPLICIT [0] タグを持つ一連のデータを含む X.509 証明書があります。
そして、標準文書からの抜粋があります:
IMPLICIT [0] タグは DER エンコーディングには使用されず、EXPLICIT SET OF タグが使用されます。つまり、IMPLICIT [0] タグではなく、EXPLICIT SET OF タグの DER エンコーディングを、値の長さと内容のオクテットと共に含める必要があります。
私はたくさんの検索を行いましたが、標準が何を求めているのか正確にはわかりません。少し説明を求めています。
編集:これが私が従っている標準です: https://www.rfc-editor.org/rfc/rfc3852
X.509 署名を検証しようとしていますが、これを行うにはメッセージ ダイジェストを計算する必要があります。この証明書には、SignerInfo タイプのオプションの SignedAttributes が含まれています。署名されたコンテンツをハッシュし、SignedAttributes のメッセージ ダイジェストが正しいことを確認しました。標準では、SignedAttributes が存在する場合、それをハッシュして暗号化し、証明書の署名を作成する必要があると規定されています。この標準では、元の質問で説明したように、SignedAttributes のタグを変更する必要があるとも述べています。
SignerInfo の Asn.1 文法は次のとおりです。
c# - C# コードで IIS レベルの証明書エラーをキャッチする
私は、X509 証明書で保護される SOAP ハンドラーを作成しています。要件の 1 つは、プログラムが既存のログ ビューアーにできるだけ多くのログを記録することです。明らかに、IIS レベルで処理される証明書に関連する多くのエラーがあり、この場合は受け入れられません。
私はすでに C# コードでログの部分を解決しています。その部分は簡単です。難しいのは、役に立たない Web エラーとしてクライアントに返されるのではなく、IIS レベルのエラーをコードに入れることです。私はこのスレッドを見ましたが、何が起こっているのかという性質上、私たちのプロジェクトには App_Code フォルダーがありません。
助言がありますか?
security - X.509準拠のデジタル署名を拡張するために使用する有効なOIDを決定するにはどうすればよいですか?
X.509v3 / PKCS#7デジタル署名にカスタム拡張機能(すでにASN1.encoded)を追加するために使用するOIDが必要です。相互運用可能かどうかは気にしません。これは私的なプロプライエタリアプリケーションです(実際には、研究プロジェクトです)。今のところ、プロプライエタリアプリケーションで使用されているOIDであるかどうかは気にしませんが、明らかにそのOIDを長期間使用することはできませんでした。
現在、私は1.2.3.4.5を使用しています。これは、使用している暗号ライブラリ(cryptlib)のテストコードに含まれています。ただし、署名の作成がクラッシュしているため、これが理由かどうかはわかりません。入力をチェックするときに、ライブラリが少なくともいくつかの無効なOIDを拒否することを私は知っています。
c# - 署名されたC#exeから公開鍵を読み取るにはどうすればよいですか
を使用してドットネットexeに署名しています
一部のデータを検証するために、ファイルは実行時に独自の公開鍵を読み取る必要があります。私はいくつかの異なる道を進んできました。
私はもう試した
その場合、executeingCertはnullになります。サインコードはX509署名付きファイルを作成していないと思いますが、変更するスイッチがあれば、喜んでそのように進めます。
編集済み 上記は機能することがわかりました....ヌルチェックを逆方向に行いました(!=!= ==):)
.net - .NET で X.509 証明書をプログラムで作成する方法は?
設定したハッシュ アルゴリズムとキーの長さの要件を満たす新しい X.509 証明書を .NET で作成したいと考えています。これは自己署名証明書になります。新しい証明書を作成すると、新しいキーが作成される場合があります。または、既存の秘密キーを byte[] 形式でインポートしたい場合があります。
誰もそれを行う方法を知っていますか?
ruby - X509 証明書を使用した Ruby での SOAP リクエスト
Soap4r と HTTPClient を使用して Web サービスとやり取りしています。サービスは、X509 証明書でデジタル署名されたリクエストのみを受け入れます。秘密鍵を生成し、証明書要求 ( CSR ) を取得し、機関 (Web サービスをホストしている会社) から実際の証明書を取得する手順を実行しました。
これを行う方法の例はありますか?
c# - C# のみを使用してプログラムで X509 証明書を生成することは可能ですか?
C# とBouncyCastleライブラリを使用して、X509 証明書 (秘密キーを含む) をプログラムで生成しようとしています。Felix Kollmann によるこのサンプルのコードの一部を使用してみましたが、証明書の秘密鍵部分が null を返します。コードと単体テストは次のとおりです。
単体テスト: