0
サービスでクライアントアプリケーションからの受信文字列を暗号化するWCFサーバーを作成しました。 WCFサービスから返された暗号化された文字列を復号化できるように、サーバーの公開キーをクライアントに返すにはどうすればよいですか? 私は助けが必要です。他に習得する方法はありますか?公開鍵をWCFサーバーからクライアントに返す方法
サービスでクライアントアプリケーションからの受信文字列を暗号化するWCFサーバーを作成しました。 WCFサービスから返された暗号化された文字列を復号化できるように、サーバーの公開キーをクライアントに返すにはどうすればよいですか? 私は助けが必要です。他に習得する方法はありますか?公開鍵をWCFサーバーからクライアントに返す方法
JSON Webトークン(JWT)を使用できます。
JWTには、一般に、ヘッダー、ペイロード、および署名という3つの部分があります。
header = '{"alg":"HS256","typ":"JWT"}'
HS256は、このトークンが
ペイロードは、我々が行いたいの特許請求の範囲が含まHMAC-SHA256を使用して署名されていることを示す。
署名がヘッダをコードbase64urlことによって計算されるpayload = '{"loggedInAs":"admin","iat":1422779638}'
とペイロードをセパレータとしてピリオドで連結します。
key = 'secretkey'
unsignedToken = encodeBase64(header) + '.' + encodeBase64(payload)
signature = HMAC-SHA256(key, unsignedToken)
トークンは次のようになります。
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI
私のWCFアプリケーションでは、このようなトークンを生成するためにJWT .dllを使用します。
public string GenToken()
{
byte[] key = new byte[];
var payload= new Dictionary<string, object>()
{
{ "idUsr", 1 },
{ "nameUsr", admin},
{"accessTime",DateTime.UtcNow.AddMinutes(30)}
};
string token = JWT.JsonWebToken.Encode(payload, key , JWT.JwtHashAlgorithm.HS256);
return token;
}
あなたの考えは間違っています(少なくともセキュアな実装では)。必要なのは、第三者機関によって証明された証明書を持つPKIシステムです。それ以外の場合、文字列は本当に安全ではありません。 – Kafros