情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

RSACryptoServiceProvider クラス

2013/12/12

暗号サービス プロバイダー (CSP: Cryptographic Service Provider) によって提供された RSA アルゴリズムの実装を使用して、非対称暗号化および復号化を実行します。 このクラスは継承できません。

System.Object
  System.Security.Cryptography.AsymmetricAlgorithm
    System.Security.Cryptography.RSA
      System.Security.Cryptography.RSACryptoServiceProvider

Namespace:  System.Security.Cryptography
アセンブリ:  mscorlib (mscorlib.dll 内)

public sealed class RSACryptoServiceProvider : RSA, 
	ICspAsymmetricAlgorithm

RSACryptoServiceProvider 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドRSACryptoServiceProvider()既定のキーを使用して、RSACryptoServiceProvider クラスの新しいインスタンスを初期化します。
パブリック メソッドRSACryptoServiceProvider(CspParameters)指定したパラメーターを使用して、RSACryptoServiceProvider クラスの新しいインスタンスを初期化します。
パブリック メソッドRSACryptoServiceProvider(Int32)キーのサイズを指定して、RSACryptoServiceProvider クラスの新しいインスタンスを初期化します。
パブリック メソッドRSACryptoServiceProvider(Int32, CspParameters)キー サイズとパラメーターを指定して、RSACryptoServiceProvider クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティCspKeyContainerInfo暗号化キーに関する追加情報を記述する CspKeyContainerInfo オブジェクトを取得します。
パブリック プロパティKeyExchangeAlgorithmRSA のこの実装で使用できるキー交換アルゴリズムの名前を取得します。 (AsymmetricAlgorithm.KeyExchangeAlgorithm をオーバーライドします。)
パブリック プロパティKeySize現在のキーのサイズを取得します。 (AsymmetricAlgorithm.KeySize をオーバーライドします。)
パブリック プロパティLegalKeySizes非対称アルゴリズムでサポートされているキー サイズを取得します。 (AsymmetricAlgorithm から継承されます。)
パブリック プロパティPersistKeyInCsp暗号サービス プロバイダー (CSP) でキーを永続化する必要があるかどうかを示す値を取得または設定します。
パブリック プロパティPublicOnlyRSACryptoServiceProvider オブジェクトに格納されているのが公開キーだけかどうかを示す値を取得します。
パブリック プロパティSignatureAlgorithmRSA のこの実装で使用できる署名アルゴリズムの名前を取得します。 (AsymmetricAlgorithm.SignatureAlgorithm をオーバーライドします。)
パブリック プロパティ静的メンバーUseMachineKeyStoreユーザー プロファイル ストアの代わりに、コンピューターのキー ストアでキーを永続化する必要があるかどうかを示す値を取得または設定します。
このページのトップへ

  名前説明
パブリック メソッドClearAsymmetricAlgorithm クラスによって使用されているすべてのリソースを解放します。 (AsymmetricAlgorithm から継承されます。)
パブリック メソッドDecryptRSA アルゴリズムでデータを復号化します。
パブリック メソッドDecryptValueこのメソッドは、現在のバージョンではサポートされていません。 (RSA.DecryptValue(Byte[]) をオーバーライドします。)
パブリック メソッドDispose()AsymmetricAlgorithm クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。 (AsymmetricAlgorithm から継承されます。)
プロテクト メソッドDispose(Boolean)AsymmetricAlgorithm クラスによって使用されているアンマネージ リソースを解放し、オプションでマネージ リソースも解放します。 (AsymmetricAlgorithm から継承されます。)
パブリック メソッドEncryptRSA アルゴリズムでデータを暗号化します。
パブリック メソッドEncryptValueこのメソッドは、現在のバージョンではサポートされていません。 (RSA.EncryptValue(Byte[]) をオーバーライドします。)
パブリック メソッドEquals(Object)指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッドExportCspBlobセキュリティ クリティカル。 RSACryptoServiceProvider オブジェクトに関連付けられたキー情報を含む BLOB をエクスポートします。
パブリック メソッドExportParametersRSAParameters をエクスポートします。 (RSA.ExportParameters(Boolean) をオーバーライドします。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドFromXmlStringXML 文字列のキー情報から RSA オブジェクトを初期化します。 (RSA から継承されます。)
パブリック メソッドGetHashCode特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドImportCspBlobセキュリティ クリティカル。 RSA キー情報を表す BLOB をインポートします。
パブリック メソッドImportParameters指定した RSAParameters をインポートします。 (RSA.ImportParameters(RSAParameters) をオーバーライドします。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドSignData(Byte[], Object)指定したハッシュ アルゴリズムを使用して、指定したバイト配列のハッシュ値を計算し、結果のハッシュ値に署名します。
パブリック メソッドSignData(Stream, Object)指定したハッシュ アルゴリズムを使用して、指定した入力ストリームのハッシュ値を計算し、結果のハッシュ値に署名します。
パブリック メソッドSignData(Byte[], Int32, Int32, Object)指定したハッシュ アルゴリズムを使用して、指定したバイト配列のサブセットのハッシュ値を計算し、結果のハッシュ値に署名します。
パブリック メソッドSignHash指定したハッシュ値を秘密キーで暗号化することにより、そのハッシュ値の署名を計算します。
パブリック メソッドToString現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
パブリック メソッドToXmlString現在の RSA オブジェクトを格納している XML 文字列を作成して返します。 (RSA から継承されます。)
パブリック メソッドVerifyDataデジタル署名が有効であることを確認するには、提供された公開キーを使用し、提供されたデータのハッシュ値と比較して、署名のハッシュ値を判別します。
パブリック メソッドVerifyHashデジタル署名が有効であることを確認するには、提供された公開キーを使用し、提供されたハッシュ値と比較して、署名のハッシュ値を判別します。
このページのトップへ

  名前説明
プロテクト フィールドKeySizeValue非対称アルゴリズムで使用されるキー モジュラスのサイズをビット単位で表します。 (AsymmetricAlgorithm から継承されます。)
プロテクト フィールドLegalKeySizesValue非対称アルゴリズムでサポートされているキー サイズを指定します。 (AsymmetricAlgorithm から継承されます。)
このページのトップへ

これは RSA の既定の実装です。

 Windows Phone では、RSACryptoServiceProvider は、384 ビットから 4800 ビットのキー長を 8 ビット単位でサポートします。

CAPI (Microsoft Cryptographic API) との相互運用

アンマネージ CAPI の RSA 実装とは異なり、RSACryptoServiceProvider クラスでは、暗号化後と復号化前の暗号化したバイト配列の順序が反転します。 既定では、RSACryptoServiceProvider クラスで暗号化したデータは CAPI の CryptDecrypt 関数では復号化できず、CAPI の CryptEncrypt メソッドで暗号化されたデータは RSACryptoServiceProvider クラスでは復号化できません。

API 間での相互運用時に反転した順序を補正しないと、RSACryptoServiceProvider クラスによって CryptographicException がスローされます。

CAPI と相互運用するには、暗号化されたデータを別の API と相互運用する前に、暗号化されたバイトの順序を手動で反転する必要があります。 マネージ バイト配列の順序は、Array.Reverse メソッドを呼び出すことで簡単に反転できます。

Windows Phone OS

サポート: 8.0, 7.1

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

表示: