2

やるべきことは簡単です:ページに示されているように、AESアルゴリズムとpemファイルに含まれるキーを使用してデータを暗号化したい: http://msdn.microsoft.com/en-us/library/sb7w85t6.aspx

この例では、関数が実行されるたびに新しい暗号化キーが作成されます。しかし、pem ファイルまたは xml ファイルからこのキーを読み取る必要がありますが、それを行う方法が見つかりません。

pem ファイルからキーを読み取り、それをバイト配列 (byte[]) に変換する簡単な方法はありますか?

私は C# - .net Framework 3.5 を使用しており、ファイル内のキーはパートナーの RSA 公開キーです。

4

1 に答える 1

7

RSA キーはどのような種類の XML ファイルに含まれていますか?

.Net のクラスは、次の形式RSACryptoServiceProviderのメソッドを使用して XML から公開鍵を読み取ることができます。FromXmlString

<RSAKeyValue>
    <Modulus>3EgNS5XumwoQYU4uvr2OTtlZ4YJWUcGqTAVLQPtzejB7JSiETGdveuH7jGRFi2lNqruRL+SGpr6KJvvijG7wOQheIsJC48lDnS692pZH3rDcWgGuqjwssFKhJ5GSu3Tetrf4DOKVOeTaG5cU0pATV6aDU0Npy0a+5vkU5e3+5jE=</Modulus>
    <Exponent>AQAB</Exponent>
</RSAKeyValue>

編集

あなたの手順を理解しているので、RSA公開鍵をAES対称鍵として使用しています。 こんなことしないで! データを保護するために何もせずに、セキュリティの錯覚を追加します。たとえるなら、鍵と一緒に金庫を送るようなものですが、最初にピンク色の箱に鍵を入れます。このようにすると、公開RSA キーを取得した人は誰でもデータを復号化できます。秘密 RSA キーはまったく使用されません。

第三者があなたにこの方法を強要している場合は、この回答を提示するか、まともな暗号学者に尋ねてください。

彼らがこのようにすることを許可しないでください


あなたがすべきことは、ランダムな AES キーを作成し、それを RSA 公開キーで暗号化し、暗号化されたキーを暗号化されたデータと共に送信することです。この方法では、秘密の RSA キーを持っている人だけがデータを読み取ることができます。他の人は対称 AES キーを解読できないからです。

于 2009-11-25T16:10:52.943 に答える