CryptographicEngine.Sign(CryptographicKey, IBuffer) CryptographicEngine.Sign(CryptographicKey, IBuffer) CryptographicEngine.Sign(CryptographicKey, IBuffer) CryptographicEngine.Sign(CryptographicKey, IBuffer) CryptographicEngine.Sign(CryptographicKey, IBuffer) Method

Definition

Signs digital content. For more information, see MACs, hashes, and signatures.

public : static IBuffer Sign(CryptographicKey key, IBuffer data)
static IBuffer Sign(CryptographicKey key, IBuffer data) const;
public static IBuffer Sign(CryptographicKey key, IBuffer data)
Public Shared Function Sign(key As CryptographicKey, data As IBuffer) As IBuffer
var iBuffer = Windows.Security.Cryptography.Core.CryptographicEngine.sign(key, data);

Parameters

data
IBuffer IBuffer IBuffer

Data to be signed.

Returns

The data's signature.

Examples

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;
}

Remarks

If the key is a persisted key and the operation requires UI or takes a long time, use the SignAsync method instead.

For more information about signing digital data, see MACs, hashes, and signatures.