質問

WCFで認証を使用したい場合は、サーバーとクライアントの間を通過するデータを暗号化するためにWCFが使用するサーバーに証明書をインストールする必要があることを理解しています。

開発のために、私はmakecert.exe utilを使用できると信じています。開発証明書を作成します。

何ですか 最悪 生産環境でこの証明書を使用すると、それは起こり得ますか?

と...

生産環境でこの証明書を使用できないのはなぜですか?

と ...

このシナリオで実際に証明書は何をしますか?

編集:別の質問を追加

最後に...

WebサイトにHTTPSサポートを提供するためにインストールされた証明書があるシナリオでは、WCFサービスにも同じ証明書を使用できますか?

私のアプリケーションに注意:NetTCPクライアントとサーバーサービス。ユーザーは、クリアテキストで渡されるWebサイトに使用する同じユーザー名とパスワードを使用してログインします。 u/n + p/wをクリアテキストのwcfに渡すことを嬉しく思いますが、これはフレームワークでは許可されておらず、証明書を設置する必要があります。ただし、予算の制約のために証明書を購入したくありません!

(おそらく愚かな質問で申し訳ありませんが、私はこれを本当に理解していないので、これについていくつかの助けを歓迎します)。

役に立ちましたか?

解決

生産環境で開発者証明書を使用する場合、メジャーは何も起こりません。結局のところ、証明書は証明書であり、それが提供する暗号化は商業証明書と同じです。

ただし、証明書は信頼できる証明書当局によって署名されていないため、クライアントに保証するわけではありません あなたはあなたです. 。これを別の方法で説明させてください:あなたのサービスが単純なWebページであれば、ブラウザは証明書が無効であると言うでしょう。

WebサーバーでSSLを提供する証明書は、ドメインが信頼され検証済みのドメインであり、認証局がそれを保証できることをクライアントに伝える証明書です。

だから、によって作成された証明書 makecert.exe あなたがあなたの名前を紙に書いて、法律の役員に、これがあなたの運転免許証を言っていると言っているように。

他のヒント

  1. 信頼されるためには、いわゆる証明書当局によって証明書を発行する必要があります。自己署名された証明書(Makecertなどによって作成された)は信頼されておらず、あなたのウェブサイトを閲覧するすべての人は「無効な証明書」を受け取ります(より具体的なもの:「自己署名されているために証明書は信頼されていません」)警告。そう、 最悪の場合, 、人々はそれを信用していないので、あなたのサイトには行きません。

  2. 生産で自己署名された証明書を使用することはできますが、上記で説明した理由でお勧めできません。

  3. 証明書は、クライアントとサーバー間の安全な接続(HTTPS)を確立するために使用されます。その隣に、サーバーのIDを確認することを目的としています。証明書が自己署名されている場合、サーバーの身元を保証することはできません。

  4. IISでは、Webサイトに証明書をインストールすると、そのWebサイトの下に展開されているすべてのWCFサービスが証明書を使用できます。

要するに、開発のために自己署名証明書を使用します(呼ばれるツールを調べてください SSL診断 IISで簡単な証明書を生成するため)、しかし実際には生産に生産証明書を使用してください!

「生産環境でこの証明書を使用すると最悪の事態は何ですか」セキュリティは失敗し、サービス全体に失敗します。

「生産環境でこの証明書を使用できないのはなぜですか?」
生成された証明書で指定された証明書当局はクライアントには知られていないため、証明書を検証/使用することはできません。

「このシナリオで実際に証明書は何をしますか?」公開鍵は、クライアントが通信を暗号化するために使用されます。これにより、秘密鍵(この場合はサーバー)の所有者のみが再び復号化できることがあります(private-public keypairsは非対称暗号化です)

お役に立てれば、

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top