ICLRStrongName::StrongNameKeyGenEx Method

Generates a new public/private key pair with the specified key size, for strong name use.

HRESULT StrongNameKeyGenEx (
    [in]  LPCWSTR   wszKeyContainer,
    [in]  DWORD     dwFlags,
    [in]  DWORD     dwKeySize,
    [out] BYTE      **ppbKeyBlob,
    [out] ULONG     *pcbKeyBlob
);

Parameters

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

  • dwFlags
    [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.

  • dwKeySize
    [in] The requested size of the key, in bits.

  • ppbKeyBlob
    [out] The returned public/private key pair.

  • pcbKeyBlob
    [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).

Remarks

The .NET Framework versions 1.0 and 1.1 require a dwKeySize of 1024 bits to sign an assembly with a strong name; version 2.0 adds supports for 2048-bit keys.

After the key is retrieved, you should call the ICLRStrongName::StrongNameFreeBuffer method to release the allocated memory.

Requirements

Platforms: See .NET Framework System Requirements.

Header: MetaHost.h

Library: Included as a resource in MSCorEE.dll

.NET Framework Versions: 4

See Also

Reference

ICLRStrongName::StrongNameKeyGen Method

ICLRStrongName Interface