Freigeben über


CryptographicEngine.Sign(CryptographicKey, IBuffer) Methode

Definition

Signiert digitale Inhalte. Weitere Informationen finden Sie unter MACs, Hashes und Signaturen.

public:
 static IBuffer ^ Sign(CryptographicKey ^ key, IBuffer ^ data);
 static IBuffer Sign(CryptographicKey const& key, IBuffer const& data);
public static IBuffer Sign(CryptographicKey key, IBuffer data);
function sign(key, data)
Public Shared Function Sign (key As CryptographicKey, data As IBuffer) As IBuffer

Parameter

key
CryptographicKey

Schlüssel, der für die Signatur verwendet wird.

data
IBuffer

Zu signierte Daten.

Gibt zurück

Die Signatur der Daten.

Beispiele

public IBuffer SampleCreateHMAC(
    String strMsg,
    String strAlgName,
    out IBuffer buffMsg,
    out CryptographicKey hmacKey)
{
    // Create a MacAlgorithmProvider object for the specified algorithm.
    MacAlgorithmProvider objMacProv = MacAlgorithmProvider.OpenAlgorithm(strAlgName);

    // Create a buffer that contains the message to be signed.
    BinaryStringEncoding encoding = BinaryStringEncoding.Utf8;
    buffMsg = CryptographicBuffer.ConvertStringToBinary(strMsg, encoding);

    // Create a key to be signed with the message.
    IBuffer buffKeyMaterial = CryptographicBuffer.GenerateRandom(objMacProv.MacLength);
    hmacKey = objMacProv.CreateKey(buffKeyMaterial);

    // Sign the key and message together.
    IBuffer buffHMAC = CryptographicEngine.Sign(hmacKey, buffMsg);

    // Verify that the HMAC length is correct for the selected algorithm
    if (buffHMAC.Length != objMacProv.MacLength)
    {
        throw new Exception("Error computing digest");
    }

    // Return the HMAC.
    return buffHMAC;
}

Hinweise

Wenn der Schlüssel ein persistenter Schlüssel ist und der Vorgang eine Benutzeroberfläche erfordert oder lange dauert, verwenden Sie stattdessen die SignAsync-Methode .

Weitere Informationen zum Signieren digitaler Daten finden Sie unter MACs, Hashes und Signaturen.

Gilt für: