DSA クラス

定義

デジタル署名アルゴリズム (DSA) のすべての実装が継承する必要のある抽象基底クラスを表します。

public ref class DSA abstract : System::Security::Cryptography::AsymmetricAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type DSA = class
    inherit AsymmetricAlgorithm
type DSA = class
    inherit AsymmetricAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type DSA = class
    inherit AsymmetricAlgorithm
Public MustInherit Class DSA
Inherits AsymmetricAlgorithm
継承
派生
属性

注釈

クラスと派生クラスを DSA 使用して、データの整合性を保護するのに役立つデジタル署名を作成できます。 は DSACryptoServiceProvider 、このクラスの実装を提供します。

公開キー システムを使用してメッセージにデジタル署名するには、送信者が最初にメッセージにハッシュ関数を適用してメッセージ ダイジェストを作成します。 送信者は、送信者の秘密キーを使用してメッセージ ダイジェストを暗号化して、送信者の個人署名を作成します。 メッセージと署名を受信すると、受信者は送信者の公開キーを使用して署名を復号化してメッセージ ダイジェストを回復し、送信者が使用したのと同じハッシュ アルゴリズムを使用してメッセージをハッシュします。 受信側が計算するメッセージ ダイジェストが送信者から受信したメッセージ ダイジェストと正確に一致する場合、受信側は転送中にメッセージが変更されなかったと見なすことができます。 送信者の公開キーは一般的な知識であるため、署名は誰でも検証できることに注意してください。

重要

DSA アルゴリズムの作成者は、そのサポートを取り消しました。 クラスではなく、 クラスまたは ECDsa クラスをDSA使用RSAすることを検討してください。 従来のアプリケーションとデータとの互換性のためにのみ使用 DSA します。

DSA アルゴリズムの 2 つの異なるバージョンが存在します。 FIPS 186-2 で説明されている元の形式では、ハッシュ アルゴリズムとして SHA-1 を使用する必要があり、512 ビットから 1024 ビットまでのキー長を 64 ビットずつサポートします。 アルゴリズムの更新バージョンが FIPS 186-3 で説明されました。これにより、SHA-2 ファミリのハッシュ アルゴリズムの使用が可能になり、2048 ビット キーと 3072 ビット キーのサポートが追加されました。 この型のすべての派生実装で、DSA に対する FIPS 186-3 の機能強化がサポートされているわけではありません。 サポートは、 プロパティを LegalKeySizes 使用して検出できます。

コンストラクター

DSA()

DSA クラスの新しいインスタンスを初期化します。

フィールド

KeySizeValue

非対称アルゴリズムで使用されるキー モジュラスのサイズをビット単位で表します。

(継承元 AsymmetricAlgorithm)
LegalKeySizesValue

非対称アルゴリズムでサポートされているキー サイズを指定します。

(継承元 AsymmetricAlgorithm)

プロパティ

KeyExchangeAlgorithm

派生クラスでオーバーライドされると、キー交換アルゴリズムの名前を取得します。 それ以外の場合は、NotImplementedException をスローします。

(継承元 AsymmetricAlgorithm)
KeySize

非対称アルゴリズムで使用されるキー モジュラスのサイズをビット単位で取得または設定します。

(継承元 AsymmetricAlgorithm)
LegalKeySizes

非対称アルゴリズムでサポートされているキー サイズを取得します。

(継承元 AsymmetricAlgorithm)
SignatureAlgorithm

派生クラスで実装された場合、署名アルゴリズムの名前を取得します。 それ以外の場合は、常に NotImplementedException をスローします。

(継承元 AsymmetricAlgorithm)

メソッド

Clear()

AsymmetricAlgorithm クラスによって使用されているすべてのリソースを解放します。

(継承元 AsymmetricAlgorithm)
Create()

非対称アルゴリズムを実行するために使用する既定の暗号オブジェクトを作成します。

Create(DSAParameters)

DSA キー パラメーターを指定して新しい短期 DSA キーを作成します。

Create(Int32)

キー サイズを指定して新しい短期 DSA キーを作成します。

Create(String)
古い.

非対称アルゴリズムを実行するために使用する指定された暗号オブジェクトを作成します。

CreateSignature(Byte[])

派生クラスでオーバーライドすると、指定したハッシュ値の DSA 署名が作成されます。

CreateSignature(Byte[], DSASignatureFormat)

指定した形式で、指定したハッシュ値の DSA 署名を作成します。

CreateSignatureCore(ReadOnlySpan<Byte>, DSASignatureFormat)

指定した形式で、指定したハッシュ値の DSA 署名を作成します。

Dispose()

AsymmetricAlgorithm クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。

(継承元 AsymmetricAlgorithm)
Dispose(Boolean)

AsymmetricAlgorithm クラスによって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

(継承元 AsymmetricAlgorithm)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

現在のキーを PKCS# 8 EncryptedPrivateKeyInfo 形式で、バイトベースのパスワードを使用してエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

現在のキーを PKCS# 8 EncryptedPrivateKeyInfo 形式で、char ベースのパスワードを使用してエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを、バイトベースのパスワード PEM でエンコードしてエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters)

PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを、文字ベースのパスワード PEM エンコードでエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportParameters(Boolean)

派生クラスでオーバーライドされると、DSAParameters をエクスポートします。

ExportPkcs8PrivateKey()

現在のキーを PKCS# 8 PrivateKeyInfo 形式でエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

PKCS#8 PrivateKeyInfo 形式の PEM エンコードで現在のキーをエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

現在のキーの公開キーの部分を、X.509 SubjectPublicKeyInfo 形式でエクスポートします。

(継承元 AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

現在のキーの公開キー部分を X.509 SubjectPublicKeyInfo 形式 (PEM エンコード) でエクスポートします。

(継承元 AsymmetricAlgorithm)
FromXmlString(String)

XML 文字列から DSA オブジェクトを再構築します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetMaxSignatureSize(DSASignatureFormat)

このキーによって生成された署名の最大サイズ (バイト単位) を指定した形式で取得します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
HashData(Byte[], Int32, Int32, HashAlgorithmName)

派生クラスでオーバーライドされると、指定したハッシュ アルゴリズムを使用して、指定したバイト配列部分のハッシュ値が計算されます。

HashData(Stream, HashAlgorithmName)

派生クラスでオーバーライドされると、指定したハッシュ アルゴリズムを使用して、指定したバイナリ ストリームのハッシュ値が計算されます。

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

バイトベースのパスワードを使用して暗号化解除した後に、PKCS#8 EncryptedPrivateKeyInfo 構造体から公開/秘密キー ペアをインポートし、このオブジェクトのキーを置き換えます。

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

派生クラスでオーバーライドされるときに、バイトベースのパスワードを使用して暗号化解除した後に、PKCS#8 EncryptedPrivateKeyInfo 構造体から公開/秘密キー ペアをインポートし、このオブジェクトのキーを置き換えます。

(継承元 AsymmetricAlgorithm)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

char ベースのパスワードを使用して暗号化解除した後に、PKCS#8 EncryptedPrivateKeyInfo 構造体から公開/秘密キー ペアをインポートし、このオブジェクトのキーを置き換えます。

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

派生クラスでオーバーライドされるときに、char ベースのパスワードを使用して暗号化解除した後に、PKCS#8 EncryptedPrivateKeyInfo 構造体から公開/秘密キー ペアをインポートし、このオブジェクトのキーを置き換えます。

(継承元 AsymmetricAlgorithm)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

暗号化された RFC 7468 PEM でエンコードされた秘密キーをインポートして、このオブジェクトのキーを置き換えます。

ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

派生クラスでオーバーライドされる場合は、暗号化された RFC 7468 PEM でエンコードされたキーをインポートして、このオブジェクトのキーを置き換えます。

(継承元 AsymmetricAlgorithm)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

暗号化された RFC 7468 PEM でエンコードされた秘密キーをインポートして、このオブジェクトのキーを置き換えます。

ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

派生クラスでオーバーライドされる場合は、暗号化された RFC 7468 PEM でエンコードされたキーをインポートして、このオブジェクトのキーを置き換えます。

(継承元 AsymmetricAlgorithm)
ImportFromPem(ReadOnlySpan<Char>)

RFC 7468 PEM でエンコードされたキーをインポートして、このオブジェクトのキーを置き換えます。

ImportFromPem(ReadOnlySpan<Char>)

派生クラスでオーバーライドされる場合は、RFC 7468 でテキスト エンコーディングされたキーをインポートして、このオブジェクトのキーを置き換えます。

(継承元 AsymmetricAlgorithm)
ImportParameters(DSAParameters)

派生クラスでオーバーライドされると、指定された DSAParameters をインポートします。

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

暗号化解除した後に、PKCS#8 PrivateKeyInfo 構造体から公開/秘密キー ペアをインポートし、このオブジェクトのキーを置き換えます。

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

派生クラスでオーバーライドされるときに、暗号化解除した後に、PKCS#8 PrivateKeyInfo 構造体から公開/秘密キー ペアをインポートし、このオブジェクトのキーを置き換えます。

(継承元 AsymmetricAlgorithm)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

暗号化解除した後に、X.509 SubjectPublicKeyInfo 構造体から公開キーをインポートし、このオブジェクトのキーを置き換えます。

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

派生クラスでオーバーライドされるときに、暗号化解除した後に、X.509 SubjectPublicKeyInfo 構造体から公開キーをインポートし、このオブジェクトのキーを置き換えます。

(継承元 AsymmetricAlgorithm)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
SignData(Byte[], HashAlgorithmName)

指定したハッシュ アルゴリズムを使用して、指定したバイト配列のハッシュ値を計算し、結果のハッシュ値に署名します。

SignData(Byte[], HashAlgorithmName, DSASignatureFormat)

指定したデータのハッシュ値を計算し、指定した署名形式を使用して署名します。

SignData(Byte[], Int32, Int32, HashAlgorithmName)

指定したハッシュ アルゴリズムを使用して、指定したバイト配列の一部分のハッシュ値を計算し、結果のハッシュ値に署名します。

SignData(Byte[], Int32, Int32, HashAlgorithmName, DSASignatureFormat)

指定したデータのハッシュ値を計算し、指定した署名形式を使用して署名します。

SignData(Stream, HashAlgorithmName)

指定したハッシュ アルゴリズムを使用して、指定したストリームのハッシュ値を計算し、結果のハッシュ値に署名します。

SignData(Stream, HashAlgorithmName, DSASignatureFormat)

指定したデータのハッシュ値を計算し、指定した署名形式を使用して署名します。

SignDataCore(ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

指定したデータのハッシュ値を計算し、指定した署名形式を使用して署名します。

SignDataCore(Stream, HashAlgorithmName, DSASignatureFormat)

指定したデータのハッシュ値を計算し、指定した署名形式を使用して署名します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
ToXmlString(Boolean)

現在の DSA オブジェクトの XML 文字列形式を作成して返します。

TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, DSASignatureFormat, Int32)

指定したハッシュ値の DSA 署名を指定した形式で作成し、指定したバッファーへの配置を試みます。

TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32)

指定されたハッシュの DSA 署名を、指定されたバッファーに作成しようとします。

TryCreateSignatureCore(ReadOnlySpan<Byte>, Span<Byte>, DSASignatureFormat, Int32)

指定したハッシュ値の DSA 署名を指定した形式で作成し、指定したバッファーへの配置を試みます。

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

バイトベースのパスワードを使用して、現在のキーを PKCS#8 EncryptedPrivateKeyInfo 形式で指定のバッファーにエクスポートすることを試みます。

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

派生クラスでオーバーライドされるときに、バイトベースのパスワードを使用して、現在のキーを PKCS#8 EncryptedPrivateKeyInfo 形式で指定のバッファーにエクスポートすることを試みます。

(継承元 AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

char ベースのパスワードを使用して、PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを、指定されたバッファーにエクスポートすることを試みます。

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

派生クラスでオーバーライドされるときに、char ベースのパスワードを使用して、現在のキーを PKCS#8 EncryptedPrivateKeyInfo 形式で指定のバッファーにエクスポートすることを試みます。

(継承元 AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32)

PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを、PEM でエンコードされたバイトベースのパスワードでエクスポートしようとします。

(継承元 AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを、文字ベースのパスワード PEM エンコードでエクスポートします。

(継承元 AsymmetricAlgorithm)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

PKCS#8 PrivateKeyInfo 形式の現在のキーを、指定のバッファーにエクスポートすることを試みます。

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

派生クラスでオーバーライドされるときに、現在のキーを PKCS#8 PrivateKeyInfo 形式で指定のバッファーにエクスポートすることを試みます。

(継承元 AsymmetricAlgorithm)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

PEM でエンコードされた PKCS#8 PrivateKeyInfo 形式の現在のキーを、指定されたバッファーにエクスポートしようとします。

(継承元 AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

現在のキーを X.509 SubjectPublicKeyInfo 形式で指定のバッファーにエクスポートすることを試みます。

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

派生クラスでオーバーライドされるときに、現在のキーを X.509 SubjectPublicKeyInfo 形式で指定のバッファーにエクスポートすることを試みます。

(継承元 AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

PEM でエンコードされた X.509 SubjectPublicKeyInfo 形式の現在のキーを、指定されたバッファーにエクスポートしようとします。

(継承元 AsymmetricAlgorithm)
TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

指定されたバッファーに指定されたデータのハッシュ値を計算しようとします。

TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, DSASignatureFormat, Int32)

指定したデータの DSA 署名を指定した形式で作成し、指定したバッファーへの配置を試みます。

TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

指定されたデータの DSA 署名を、指定されたバッファーに作成しようとします。

TrySignDataCore(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, DSASignatureFormat, Int32)

指定したデータの DSA 署名を指定した形式で作成し、指定したバッファーへの配置を試みます。

VerifyData(Byte[], Byte[], HashAlgorithmName)

指定したハッシュ アルゴリズムを使用して、指定したデータのハッシュ値を計算し、これを指定した署名と比較することによって、デジタル署名が有効であることを確認します。

VerifyData(Byte[], Byte[], HashAlgorithmName, DSASignatureFormat)

指定したデータに対してデジタル署名が有効であることを検証します。

VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName)

指定したハッシュ アルゴリズムを使用して、バイト配列の部分のデータのハッシュ値を計算し、これを指定した署名と比較することによって、デジタル署名が有効であることを確認します。

VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName, DSASignatureFormat)

指定したデータに対してデジタル署名が有効であることを検証します。

VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName)

指定されたハッシュ アルゴリズムを使用して、バイト スパン内のデータのハッシュ値を計算し、これを指定された署名と比較することによって、デジタル署名が有効であることを確認します。

VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

指定したデータに対してデジタル署名が有効であることを検証します。

VerifyData(Stream, Byte[], HashAlgorithmName)

指定したハッシュ アルゴリズムを使用して、指定したストリームのハッシュ値を計算し、これを指定した署名と比較することによって、デジタル署名が有効であることを確認します。

VerifyData(Stream, Byte[], HashAlgorithmName, DSASignatureFormat)

指定したデータに対してデジタル署名が有効であることを検証します。

VerifyDataCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

指定したデータに対してデジタル署名が有効であることを検証します。

VerifyDataCore(Stream, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

指定したデータに対してデジタル署名が有効であることを検証します。

VerifySignature(Byte[], Byte[])

派生クラスでオーバーライドされると、指定されたデータの DSA 署名を検証します。

VerifySignature(Byte[], Byte[], DSASignatureFormat)

指定したハッシュに対してデジタル署名が有効であることを検証します。

VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>)

指定されたデータ ハッシュに対してデジタル署名が有効であることを検証します。

VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat)

指定したハッシュに対してデジタル署名が有効であることを検証します。

VerifySignatureCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat)

指定したハッシュに対してデジタル署名が有効であることを検証します。

明示的なインターフェイスの実装

IDisposable.Dispose()

この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。

このメンバーの詳細については、「Dispose()」をご覧ください。

(継承元 AsymmetricAlgorithm)

適用対象

こちらもご覧ください