StrongNameKeyGen Function

Creates a new public/private key pair for strong name use.

BOOLEAN StrongNameKeyGen (
        [in]  LPCWSTR   wszKeyContainer,
        [in]  DWORD     dwFlags,
        [out] BYTE      **ppbKeyBlob,
        [out] ULONG     *pcbKeyBlob


Parameter Description


[in] The requested key container name. wszKeyContainer must be a non-empty string, or null to generate a temporary name.


[in] Specifies whether to leave the key registered. The following values are supported:

  • 0x00000000 - Used when wszKeyContainer is null to generate a temporary key container name.

  • 0x00000001 (SN_LEAVE_KEY) - Specifies that the key should be left registered.


[out] The returned public/private key pair.


[out] The size, in bytes, of ppbKeyBlob.

Return Value

true on successful completion; otherwise, false.


The StrongNameKeyGen function creates a 1024-bit key. After the key is retrieved, you should call the StrongNameFreeBuffer Function function to release the allocated memory.

If the StrongNameKeyGen function does not complete successfully, call the StrongNameErrorInfo Function function to retrieve the last generated error.


Platforms: Windows 2000, Windows XP, Windows Server 2003 family

Header: StrongName.h

Library: Included as a resource in MsCorEE.dll

.NET Framework Version: 2.0, 1.1, 1.0

See Also


StrongNameKeyGenEx Function

Other Resources

Strong Naming Global Static Functions