次の方法で共有


RSAPKCS1SignatureFormatter コンストラクタ (AsymmetricAlgorithm)

指定したキーを使用して、RSAPKCS1SignatureFormatter クラスの新しいインスタンスを初期化します。

名前空間: System.Security.Cryptography
アセンブリ: mscorlib (mscorlib.dll 内)

構文

'宣言
Public Sub New ( _
    key As AsymmetricAlgorithm _
)
'使用
Dim key As AsymmetricAlgorithm

Dim instance As New RSAPKCS1SignatureFormatter(key)
public RSAPKCS1SignatureFormatter (
    AsymmetricAlgorithm key
)
public:
RSAPKCS1SignatureFormatter (
    AsymmetricAlgorithm^ key
)
public RSAPKCS1SignatureFormatter (
    AsymmetricAlgorithm key
)
public function RSAPKCS1SignatureFormatter (
    key : AsymmetricAlgorithm
)
適用できません。

パラメータ

  • key
    秘密キーを保持している RSA アルゴリズムのインスタンス。

例外

例外の種類 条件

ArgumentNullException

key が null 参照 (Visual Basic では Nothing) です。

解説

CreateSignature を呼び出す前に、SetHashAlgorithm を使用して、ハッシュ アルゴリズムを設定します。

使用例

Imports System
Imports System.Security.Cryptography

 _

Class RSASample


    Shared Sub Main()
        Try
            'Create a new instance of RSACryptoServiceProvider.
            Dim RSA As New RSACryptoServiceProvider()

            'The hash to sign.
            Dim Hash As Byte() = {59, 4, 248, 102, 77, 97, 142, 201, 210, 12, 224, 93, 25, 41, 100, 197, 213, 134, 130, 135}

            'Create an RSAOPKCS1SignatureFormatter object and pass it the 
            'RSACryptoServiceProvider to transfer the key information.
            Dim RSAFormatter As New RSAPKCS1SignatureFormatter(RSA)

            'Set the hash algorithm to SHA1.
            RSAFormatter.SetHashAlgorithm("SHA1")

            'Create a signature for HashValue and return it.
            Dim SignedHash As Byte() = RSAFormatter.CreateSignature(Hash)


        Catch e As CryptographicException
            Console.WriteLine(e.Message)
        End Try
    End Sub
End Class
using System;
using System.Security.Cryptography;

class RSASample
{
        
    static void Main()
    {
        try
        {
            //Create a new instance of RSACryptoServiceProvider.
            RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();

            //The hash to sign.
            byte[] Hash = {59,4,248,102,77,97,142,201,210,12,224,93,25,41,100,197,213,134,130,135};

            //Create an RSAOPKCS1SignatureFormatter object and pass it the 
            //RSACryptoServiceProvider to transfer the key information.
            RSAPKCS1SignatureFormatter RSAFormatter = new RSAPKCS1SignatureFormatter(RSA);

            //Set the hash algorithm to SHA1.
            RSAFormatter.SetHashAlgorithm("SHA1");

            //Create a signature for HashValue and return it.
            byte[] SignedHash = RSAFormatter.CreateSignature(Hash);


        }
        catch(CryptographicException e)
        {
            Console.WriteLine(e.Message);
        }
    }

}
#using <System.dll>

using namespace System;
using namespace System::Security::Cryptography;
int main()
{
   try
   {
      
      //Create a new instance of RSACryptoServiceProvider.
      RSACryptoServiceProvider^ RSA = gcnew RSACryptoServiceProvider;
      
      //The hash to sign.
      array<Byte>^Hash = {59,4,248,102,77,97,142,201,210,12,224,93,25,41,100,197,213,134,130,135};
      
      //Create an RSAOPKCS1SignatureFormatter object and pass it the 
      //RSACryptoServiceProvider to transfer the key information.
      RSAPKCS1SignatureFormatter^ RSAFormatter = gcnew RSAPKCS1SignatureFormatter( RSA );
      
      //Set the hash algorithm to SHA1.
      RSAFormatter->SetHashAlgorithm( "SHA1" );
      
      //Create a signature for HashValue and return it.
      array<Byte>^SignedHash = RSAFormatter->CreateSignature( Hash );
   }
   catch ( CryptographicException^ e ) 
   {
      Console::WriteLine( e->Message );
   }

}
import System.*;
import System.Security.Cryptography.*;

class RSASample
{
    public static void main(String[] args)
    {
        try {
            // Create a new instance of RSACryptoServiceProvider.
            RSACryptoServiceProvider rsa =  new RSACryptoServiceProvider();
            
            //The hash to sign.
            ubyte hash[] =  {59, 4, 248, 102, 77, 97, 142, 201, 210, 12, 
                224, 93, 25, 41, 100, 197, 213, 134, 130, 135};
            
            // Create an RSAOPKCS1SignatureFormatter object and pass it the 
            // RSACryptoServiceProvider to transfer the key information.
            RSAPKCS1SignatureFormatter rsaFormatter =  
                new RSAPKCS1SignatureFormatter(rsa);
            
            // Set the hash algorithm to SHA1.
            rsaFormatter.SetHashAlgorithm("SHA1");
            
            // Create a signature for HashValue and return it.
            ubyte signedHash[] = rsaFormatter.CreateSignature(hash);
        } 
        catch (CryptographicException e) {
            Console.WriteLine(e.get_Message());
        }
    } //main
} //RSASample

プラットフォーム

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

バージョン情報

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

.NET Compact Framework

サポート対象 : 2.0

参照

関連項目

RSAPKCS1SignatureFormatter クラス
RSAPKCS1SignatureFormatter メンバ
System.Security.Cryptography 名前空間

その他の技術情報

暗号サービス