다음을 통해 공유


CryptographicEngine.Sign(CryptographicKey, IBuffer) 메서드

정의

디지털 콘텐츠에 서명합니다. 자세한 내용은 MAC, 해시 및 서명을 참조하세요.

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

매개 변수

key
CryptographicKey

서명에 사용되는 키입니다.

data
IBuffer

서명할 데이터입니다.

반환

데이터의 서명입니다.

예제

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

설명

키가 지속형 키이고 작업에 UI가 필요하거나 시간이 오래 걸리는 경우 SignAsync 메서드를 대신 사용합니다.

디지털 데이터 서명에 대한 자세한 내용은 MAC, 해시 및 서명을 참조하세요.

적용 대상