IWMDRMWriter::GenerateSigningKeyPair method (wmsdkidl.h)
[The feature associated with this page, Windows Media Format 11 SDK, is a legacy feature. It has been superseded by Source Reader and Sink Writer. Source Reader and Sink Writer have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Source Reader and Sink Writer instead of Windows Media Format 11 SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
[GenerateSigningKeyPair is available for use in the operating systems specified in the Requirements section. It may be altered or unavailable in subsequent versions. Instead, use Microsoft PlayReady. ]
The GenerateSigningKeyPair method generates a public and private key pair that are used to sign the DRM header object.
Syntax
HRESULT GenerateSigningKeyPair(
[out] WCHAR *pwszPrivKey,
[in, out] DWORD *pcwchPrivKeyLength,
[out] WCHAR *pwszPubKey,
[in, out] DWORD *pcwchPubKeyLength
);
Parameters
[out] pwszPrivKey
Pointer to a wide-character null-terminated string containing the private key. Set to NULL to retrieve the size of the string, which is returned in pcwchPrivKeyLength. Use this key to set the DRM_HeaderSignPrivKey property.
[in, out] pcwchPrivKeyLength
Pointer to a DWORD containing the size, in wide characters, of pwszPrivKey. This size includes the terminating null character.
[out] pwszPubKey
Pointer to a wide-character null-terminated string containing the public key. Set to NULL to retrieve the size of the string, which is returned in pcwchPubKeyLength. This key is shared only with the license server; it enables the license server to verify the signature of the DRM header object when users attempt to obtain a content license for a file.
[in, out] pcwchPubKeyLength
Pointer to a DWORD containing the size, in wide characters, of pwsPubKey. This size includes the terminating null character.
Return value
If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.
Remarks
Do not confuse the signature that is applied to the ASF header object, using these keys, with the signature that is applied to the DRM header object by using the DRM_LASignaturePrivKey and other properties that make up the digital signature object in the file.
The keys generated by this method are the basis for revocation lists, so the number of different key pairs you use will be based on your particular business needs. In general, the same key pair should be used for some set of content that forms a logical group and that shares the same revocation list.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only],Windows Media Format 9 Series SDK, or later versions of the SDK |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | wmsdkidl.h (include Wmsdk.h) |
Library | Wmvcore.lib; WMStubDRM.lib (if you use DRM) |