ICLRStrongName::StrongNameKeyGen Method

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


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


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

[in] A value that 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

S_OK if the method completed successfully; otherwise, an HRESULT value that indicates failure (see Common HRESULT Values for a list).


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


Platforms: See System Requirements.

Header: MetaHost.h

Library: Included as a resource in MSCorEE.dll

.NET Framework Versions: Available since 4

See Also

StrongNameKeyGenEx Method
ICLRStrongName Interface