問題タブ [makecert]
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#でクライアントによるサーバー認証用のサーバー名を特定するにはどうすればよいですか
最近、C# で SSL 暗号化サーバー/クライアントを作成しようとしています。
MSDN のこのチュートリアルに従いましたが、 makecert.exeを使用してサーバーとクライアントの使用のために証明書を作成する必要があったため、例を見つけて、証明書を正常に作成しました。
makecert -sr LocalMachine -ss My -n "CN=Test" -sky exchange -sk 123456 c:/Test.cer
しかし、問題は、サーバーが起動してクライアントを待機することです。クライアントが接続すると、収集できる限り、この場合は私のIPであるマシン名が使用されます。
127.0.0.1
、次に証明書のサーバー名と一致する必要があるサーバー名が必要です( Test.cer )。複数の組み合わせを試しました(「Test」「LocalMachine」、「127.0.0.1」など)が、指定されたサーバー名を一致させるクライアントを取得できないため、接続が許可されているようです。エラーは次のとおりです。
証明書エラー: RemoteCertificateNameMismatch、RemoteCertificateChainErrors 例外: 検証手順によるとリモート証明書が無効です
これは私が使用しているコードです。MSDN の例とは異なりますが、アプリでサーバーの証明書パスを割り当て、クライアントのマシン名とサーバー名も割り当てている点のみが異なります。
SslTcpServer.cs
SslTcpClient.cs
編集:
サーバーはクライアントの接続とすべてを受け入れますが、クライアントがメッセージを送信するのを待っている間にタイムアウトします。(証明書のサーバー名がクライアントで提供したものと異なるため、クライアントはサーバーで認証されません)まあ、明確にするためにそれについての私の考えです
アップデート:
回答によると、証明書メーカーを次のように変更しました。
makecert -sr LocalMachine -ss My -n "CN=localhost" -sky exchange -sk 123456 c:/Test.cer と私のクライアントでは:
今、私は例外を受け取ります:
RemoteCertificateChainErrors 例外: 検証手順によるとリモート証明書が無効です
ここで発生しています:
windows - GUI なしで makecert.exe を実行するには?
最近、自動化された方法で自己署名証明書を生成する際に問題が発生しました。makecert.exe を実行するたびに、証明書のパスワードを求めるポップアップ ウィンドウが表示されます。ただし、これらの証明書は配布されることはないため、パスワードなどは必要ありません。
GUI を必要とせずに makecert.exe を動作させるにはどうすればよいですか?
それが役立つ場合、私のコマンド ラインは次のような形式になります。
makecert.exe mycert.cer -r -n "CN=16 進数の乱数" -$ 個別 -sv private.pkv -pe -cy end
c# - makecertで認証局証明書を作成するには?
自己署名証明書で SSL を使用する Web サイトを作成しようとしています。
これが私がすることです:
機関証明書を作成します。
ターゲット証明書の作成
作成した証明書に署名する
内部に秘密鍵を含む証明書を作成する
今、私はウェブサイトのデバッグにFirefoxを使いたいと思っています。そのためには、認証局のルート証明書 (root.cer) を信頼できる証明書リストにインポートする必要があります。
ただし、これを実行しようとすると、次のエラー メッセージが表示されます。
これは認証局証明書ではないため、認証局リストにインポートできません。
フィドラーの機関証明書で同様のことを行ったところ、うまくいきました。これは、機関証明書を作成するプロセスに問題があることを意味します。
認証局証明書を適切に作成するにはどうすればよいですか?
c# - WCF – SSL – クライアント認証 - Windows 7 では実装できませんが、Windows XP では実装できます
サーバー証明書とクライアント証明書の両方の方法で、ssl (トランスポートセキュリティ) を使用して wcf クライアントとサーバー (自己ホスト型) を作成しようとしています。
Windows XP ではすべてが機能しますが、Windows 7 ではクライアント証明書で失敗しました。サーバーが winXp 上にあり、クライアントが win7 上にある場合は動作しますが、逆に動作しません。
サーバーの app.config は次のとおりです。
クライアント:
サーバーのコード:
クライアントのコード:
私のmakecertコマンドは次のとおりです。
また、CA が正しい場所 (ローカル コンピューター - 信頼されたルート CA) にあり、サーバー/クライアント証明書も正しい場所 (ローカル コンピューター - 個人) にあることを確認しました。
秘密鍵はエクスポート可能であり、「Everyone」が秘密鍵 (C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys) へのアクセス許可を持っていることを確認しました。
フィドラー経由で動作します。
SvcTraceViewer から得られるエラー:
クライアント側 -クライアント認証方式「匿名」で HTTP 要求が禁止されました。
サーバー側 -クライアント証明書が必要です。要求に証明書が見つかりませんでした。
HTTP トレースからのエラー:サーバー アプリケーションによるクライアント証明書の受信の試行が、次の状態で失敗しました: 0xC0000225。
私が見つけた同様の問題ですが、それでも立ち往生しています .NETアプリケーションがクライアント証明書の送信に失敗しました - Win 7 vs Win XP?
Windows 7 で動作させるにはどうすればよいですか?
ありがとう。
wcf - MakeCert を使用して有効な運用クライアント証明書を作成し、WCF を認証する
自分のコンピューターと、いくつかの WCF サービスをホストしているドメインを認証するために、実際の SSL 証明書を購入しました。
MakeCert を使用して、この認証済み証明書によって署名されたクライアント証明書を作成し、クライアント コンピューターで使用して、正しい (自分の) サーバーに接続していることを認証するにはどうすればよいですか?
クライアント証明書は、サーバーでの WCF サービスの使用を認証するために使用されます。
ssl-certificate - Makecert証明書は安全ですか?
を介して通信するアプリケーションを作成しました。ネットSSLStream
、および開発のために、私makecert.exe
は自己署名SSL証明書を作成していました。今、私はいくつかのマイクロソフトの記事を読みました、そのmakecertはテストのためだけに使われるべきです。
今私の質問は、アプリケーションはこの証明書で安全ですか、それともどのプログラムで安全で比較可能な証明書を作成できますか?編集:自己署名証明書はクライアントアプリケーションにハードコードされており、接続を確立するたびに比較されるため、中間者攻撃は機能しませんが、makecert証明書はどの程度ランダムですか
?
c# - makecert が *有効な* 証明書を作成しないのはなぜですか?
テスト目的で X509 証明書を作成したいと考えています。この証明書は、3 人の開発者がそれぞれのローカル マシンで共有する必要があります (つまり、全員が同じ証明書を共有するため、同じ拇印を使用できます)。
したがって、この証明書の秘密鍵はエクスポート可能でなければなりません。
次のコマンドで証明書を作成します。
この証明書は正常に機能しますが、問題は、Certificates.Find を呼び出すときに isValid 引数を false にする必要があることです...
その IsValid プロパティを True に設定するとすぐに、Find メソッドによって証明書が返されなくなります。makecert が「無効な」証明書を生成するのはなぜですか? または、証明書が無効であると見なされる理由をどのように把握できますか?
c# - 証明書の作成で未処理の暗号例外
独自の証明書を作成するこの単純なコンソール アプリケーションを作成しています。これが私のコードです。
しかし、なぜコードの最後の行でこれを取得しているのでしょうか?
batch-file - バッチ ファイル: cmd を開き、VS コマンド プロンプトを実行し、Makecert を実行します。
これをバッチファイルで行う必要があります:
- コマンドを開く
- cmd で VS コマンド プロンプトを実行する
- このコマンド「makecert -sv SignRoot.pvk -cy authority -r sha1 -a -n \"CN=Certificate\" -ss my -sr localmachine certificate.cer」を実行します。
これまでのところ、1 と 2 を実行しましたが、問題は 3 に進みます。
これが私がこれまでに持っているものです。