DSACryptoServiceProvider クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
DSA アルゴリズムの暗号化サービス プロバイダー (CSP) 実装にアクセスするためのラッパー オブジェクトを定義します。 このクラスは継承できません。
public ref class DSACryptoServiceProvider sealed : System::Security::Cryptography::DSA
public ref class DSACryptoServiceProvider sealed : System::Security::Cryptography::DSA, System::Security::Cryptography::ICspAsymmetricAlgorithm
public sealed class DSACryptoServiceProvider : System.Security.Cryptography.DSA
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class DSACryptoServiceProvider : System.Security.Cryptography.DSA, System.Security.Cryptography.ICspAsymmetricAlgorithm
public sealed class DSACryptoServiceProvider : System.Security.Cryptography.DSA, System.Security.Cryptography.ICspAsymmetricAlgorithm
type DSACryptoServiceProvider = class
inherit DSA
[<System.Runtime.InteropServices.ComVisible(true)>]
type DSACryptoServiceProvider = class
inherit DSA
interface ICspAsymmetricAlgorithm
type DSACryptoServiceProvider = class
inherit DSA
interface ICspAsymmetricAlgorithm
Public NotInheritable Class DSACryptoServiceProvider
Inherits DSA
Public NotInheritable Class DSACryptoServiceProvider
Inherits DSA
Implements ICspAsymmetricAlgorithm
- 継承
- 属性
- 実装
注釈
DSACryptoServiceProvider クラスを使用してデジタル署名を作成し、データの整合性を保護できます。
公開キー システムを使用してメッセージにデジタル署名するには、送信者が最初にメッセージにハッシュ関数を適用してメッセージ ダイジェストを作成します。 送信者は、送信者の秘密キーを使用してメッセージ ダイジェストを暗号化し、送信者の個人署名を作成します。 メッセージと署名を受信すると、受信者は送信者の公開キーを使用して署名を復号化してメッセージ ダイジェストを回復し、送信者が使用したのと同じハッシュ アルゴリズムを使用してメッセージをハッシュします。 受信側が計算するメッセージ ダイジェストが送信者から受信したメッセージ ダイジェストと正確に一致する場合、受信者は、転送中にメッセージが変更されていないことを確認できます。 送信者の公開キーは一般的な知識であるため、署名はだれでも検証できることに注意してください。
Note
DSA アルゴリズムの作成者は、そのサポートを取り消しました。 RSACryptoServiceProvider クラスではなく、DSACryptoServiceProvider クラスを使用することを検討してください。 DSACryptoServiceProviderは、レガシ アプリケーションとデータとの互換性のためにのみ使用します。
このアルゴリズムは、512 ビットから 1024 ビットまでのキー長を 64 ビットずつサポートします。
コンストラクター
| 名前 | 説明 |
|---|---|
| DSACryptoServiceProvider() |
DSACryptoServiceProvider クラスの新しいインスタンスを初期化します。 |
| DSACryptoServiceProvider(CspParameters) |
暗号化サービス プロバイダー (CSP) の指定されたパラメーターを使用して、 DSACryptoServiceProvider クラスの新しいインスタンスを初期化します。 |
| DSACryptoServiceProvider(Int32, CspParameters) |
暗号化サービス プロバイダー (CSP) の指定したキー サイズとパラメーターを使用して、 DSACryptoServiceProvider クラスの新しいインスタンスを初期化します。 |
| DSACryptoServiceProvider(Int32) |
指定したキー サイズを使用して、 DSACryptoServiceProvider クラスの新しいインスタンスを初期化します。 |
フィールド
| 名前 | 説明 |
|---|---|
| KeySizeValue |
非対称アルゴリズムで使用されるキーの剰余のサイズをビット単位で表します。 (継承元 AsymmetricAlgorithm) |
| LegalKeySizesValue |
非対称アルゴリズムでサポートされるキー サイズを指定します。 (継承元 AsymmetricAlgorithm) |
プロパティ
| 名前 | 説明 |
|---|---|
| CspKeyContainerInfo |
暗号化キー ペアに関する追加情報を記述する CspKeyContainerInfo オブジェクトを取得します。 |
| KeyExchangeAlgorithm |
キー交換アルゴリズムの名前を取得します。 |
| KeySize |
非対称アルゴリズムで使用されるキーのサイズをビット単位で取得します。 |
| LegalKeySizes |
非対称アルゴリズムでサポートされているキー サイズを取得します。 |
| LegalKeySizes |
非対称アルゴリズムでサポートされているキー サイズを取得します。 (継承元 AsymmetricAlgorithm) |
| PersistKeyInCsp |
キーを暗号化サービス プロバイダー (CSP) に保持するかどうかを示す値を取得または設定します。 |
| PublicOnly |
DSACryptoServiceProvider オブジェクトに公開キーのみが含まれているかどうかを示す値を取得します。 |
| SignatureAlgorithm |
署名アルゴリズムの名前を取得します。 |
| UseMachineKeyStore |
ユーザー プロファイル ストアではなく、コンピューターのキー ストアにキーを保持するかどうかを示す値を取得または設定します。 |
メソッド
| 名前 | 説明 |
|---|---|
| Clear() |
AsymmetricAlgorithm クラスによって使用されるすべてのリソースを解放します。 (継承元 AsymmetricAlgorithm) |
| CreateSignature(Byte[]) |
指定したデータの DSA 署名を作成します。 |
| Dispose() |
AsymmetricAlgorithm クラスの現在のインスタンスで使用されているすべてのリソースを解放します。 (継承元 AsymmetricAlgorithm) |
| Dispose(Boolean) |
AsymmetricAlgorithm クラスによって使用されるアンマネージ リソースを解放し、必要に応じてマネージド リソースを解放します。 (継承元 AsymmetricAlgorithm) |
| Equals(Object) |
指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
| ExportCspBlob(Boolean) |
DSACryptoServiceProvider オブジェクトに関連付けられているキー情報を含む BLOB をエクスポートします。 |
| ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters) |
PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーをバイトベースのパスワードでエクスポートします。 (継承元 AsymmetricAlgorithm) |
| ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters) |
現在のキーを PKCS#8 EncryptedPrivateKeyInfo 形式で char ベースのパスワードでエクスポートします。 (継承元 AsymmetricAlgorithm) |
| ExportParameters(Boolean) |
DSAParametersをエクスポートします。 |
| ExportPkcs8PrivateKey() |
PKCS#8 PrivateKeyInfo 形式で現在のキーをエクスポートします。 (継承元 AsymmetricAlgorithm) |
| ExportSubjectPublicKeyInfo() |
現在のキーの公開キー部分を X.509 SubjectPublicKeyInfo 形式でエクスポートします。 (継承元 AsymmetricAlgorithm) |
| Finalize() |
このインスタンスに関連付けられているすべてのリソースを解放します。 |
| FromXmlString(String) |
XML 文字列から DSA オブジェクトを再構築します。 (継承元 DSA) |
| GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| HashData(Byte[], Int32, Int32, HashAlgorithmName) |
派生クラスでオーバーライドされた場合は、指定したハッシュ アルゴリズムを使用して、バイト配列の指定した部分のハッシュ値を計算します。 (継承元 DSA) |
| HashData(Stream, HashAlgorithmName) |
派生クラスでオーバーライドされると、指定したハッシュ アルゴリズムを使用して、指定したバイナリ ストリームのハッシュ値を計算します。 (継承元 DSA) |
| ImportCspBlob(Byte[]) |
DSA キー情報を表す BLOB をインポートします。 |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) |
派生クラスでオーバーライドされると、バイトベースのパスワードで復号化した後、PKCS#8 EncryptedPrivateKeyInfo 構造体から公開/秘密キーペアをインポートし、このオブジェクトのキーを置き換えます。 (継承元 AsymmetricAlgorithm) |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) |
派生クラスでオーバーライドされると、char ベースのパスワードで復号化した後、PKCS#8 EncryptedPrivateKeyInfo 構造体から公開/秘密キーペアをインポートし、このオブジェクトのキーを置き換えます。 (継承元 AsymmetricAlgorithm) |
| ImportParameters(DSAParameters) |
指定した DSAParametersをインポートします。 |
| ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) |
派生クラスでオーバーライドされると、復号化後に PKCS#8 PrivateKeyInfo 構造体から公開/秘密キーペアをインポートし、このオブジェクトのキーを置き換えます。 (継承元 AsymmetricAlgorithm) |
| ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32) |
派生クラスでオーバーライドされると、復号化後に X.509 SubjectPublicKeyInfo 構造体から公開キーをインポートし、このオブジェクトのキーを置き換えます。 (継承元 AsymmetricAlgorithm) |
| MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| SignData(Byte[], HashAlgorithmName) |
指定したハッシュ アルゴリズムを使用して、指定したバイト配列のハッシュ値を計算し、結果のハッシュ値に署名します。 (継承元 DSA) |
| SignData(Byte[], Int32, Int32, HashAlgorithmName) |
指定したハッシュ アルゴリズムを使用して、指定したバイト配列の一部のハッシュ値を計算し、結果のハッシュ値に署名します。 (継承元 DSA) |
| SignData(Byte[], Int32, Int32) |
指定した始点から指定した終点までのバイト配列に署名します。 |
| SignData(Byte[]) |
指定したバイト配列のハッシュ値を計算し、結果のハッシュ値に署名します。 |
| SignData(Stream, HashAlgorithmName) |
指定したハッシュ アルゴリズムを使用して、指定したストリームのハッシュ値を計算し、結果のハッシュ値に署名します。 (継承元 DSA) |
| SignData(Stream) |
指定した入力ストリームのハッシュ値を計算し、結果のハッシュ値に署名します。 |
| SignHash(Byte[], String) |
秘密キーを使用して暗号化することで、指定したハッシュ値の署名を計算します。 |
| ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
| ToXmlString(Boolean) |
現在の DSA オブジェクトの XML 文字列形式を作成して返します。 (継承元 DSA) |
| TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32) |
指定したハッシュの DSA 署名を指定されたバッファーに作成しようとします。 (継承元 DSA) |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32) |
派生クラスでオーバーライドされると、バイトベースのパスワードを使用して、PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを指定されたバッファーにエクスポートしようとします。 (継承元 AsymmetricAlgorithm) |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) |
派生クラスでオーバーライドされると、文字ベースのパスワードを使用して、PKCS#8 EncryptedPrivateKeyInfo 形式の現在のキーを指定されたバッファーにエクスポートしようとします。 (継承元 AsymmetricAlgorithm) |
| TryExportPkcs8PrivateKey(Span<Byte>, Int32) |
派生クラスでオーバーライドされると、PKCS#8 PrivateKeyInfo 形式の現在のキーを指定されたバッファーにエクスポートしようとします。 (継承元 AsymmetricAlgorithm) |
| TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) |
派生クラスでオーバーライドされると、X.509 SubjectPublicKeyInfo 形式の現在のキーを指定されたバッファーにエクスポートしようとします。 (継承元 AsymmetricAlgorithm) |
| TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) |
指定されたデータのハッシュ値を指定されたバッファーに計算しようとします。 (継承元 DSA) |
| TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) |
指定したデータの DSA 署名を指定されたバッファーに作成しようとします。 (継承元 DSA) |
| VerifyData(Byte[], Byte[], HashAlgorithmName) |
指定したハッシュ アルゴリズムを使用して指定したデータのハッシュ値を計算し、指定された署名と比較することで、デジタル署名が有効であることを確認します。 (継承元 DSA) |
| VerifyData(Byte[], Byte[]) |
指定した署名データを、指定したデータに対して計算された署名と比較して検証します。 |
| VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName) |
指定したハッシュ アルゴリズムを使用してバイト配列の一部のデータのハッシュ値を計算し、指定されたシグネチャと比較することで、デジタル署名が有効であることを確認します。 (継承元 DSA) |
| VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName) |
デジタル署名が有効であることを確認するには、指定したハッシュ アルゴリズムを使用してバイトスパンのデータのハッシュ値を計算し、指定された署名と比較します。 (継承元 DSA) |
| VerifyData(Stream, Byte[], HashAlgorithmName) |
指定したハッシュ アルゴリズムを使用して指定したストリームのハッシュ値を計算し、指定された署名と比較することで、デジタル署名が有効であることを確認します。 (継承元 DSA) |
| VerifyHash(Byte[], String, Byte[]) |
指定したハッシュ値に対して計算された署名と比較して、指定した署名データを検証します。 |
| VerifySignature(Byte[], Byte[]) |
指定したデータの DSA 署名を検証します。 |
| VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
指定されたデータ ハッシュに対してデジタル署名が有効であることを確認します。 (継承元 DSA) |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IDisposable.Dispose() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 このメンバーの説明については、 Dispose()を参照してください。 (継承元 AsymmetricAlgorithm) |