ICLRStrongName::StrongNameSignatureGenerationEx 方法
更新:2011 年 4 月
依据指定标志为指定的程序集生成强名称签名。
HRESULT StrongNameSignatureGenerationEx (
[in] LPCWSTR wszFilePath,
[in] LPCWSTR wszKeyContainer,
[in] BYTE *pbKeyBlob,
[in] ULONG cbKeyBlob,
[out] BYTE **ppbSignatureBlob,
[out] ULONG *pcbSignatureBlob,
[in] DWORD dwFlags
);
参数
wszFilePath
[in] 包含程序集清单的文件的路径,将为该程序集生成强名称签名。wszKeyContainer
[in] 包含公钥/私钥对的密钥容器的名称。如果 pbKeyBlob 为 Null,则 wszKeyContainer 必须指定一个在加密服务提供程序 (CSP) 中有效的容器。 在这种情况下,使用存储在该容器中的密钥对来对文件进行签名。
如果 pbKeyBlob 不是 Null,则假定密钥二进制大对象 (BLOB) 中包含密钥对。
pbKeyBlob
[in] 指向公钥/私钥对的指针。 此密钥对采用的是 Win32 CryptExportKey 函数创建的格式。 如果 pbKeyBlob 为 Null,则假定 wszKeyContainer 指定的密钥容器包含密钥对。cbKeyBlob
[in] pbKeyBlob 的大小(以字节为单位)。ppbSignatureBlob
[out] 一个指向公共语言运行时返回签名的位置的指针。 如果 ppbSignatureBlob 为 Null,则运行时将签名存储在由 wszFilePath 指定的文件中。如果 ppbSignatureBlob 非 Null,则公共语言运行时将分配用于返回签名的空间。 调用方必须使用 ICLRStrongName::StrongNameFreeBuffer 方法来释放空间。
pcbSignatureBlob
[out] 返回的签名的大小(以字节为单位)。dwFlags
[in] 一个或多个下列值:SN_SIGN_ALL_FILES (0x00000001) -- 重新计算链接的模块的所有哈希。
SN_TEST_SIGN (0x00000002) — 对程序集进行测试签名。
返回值
如果方法成功完成,则为 S_OK;否则为指示失败的 HRESULT 值(请参见列表的 Common HRESULT Values(共同 HRESULT 值))。
备注
对 wszFilePath 指定 Null,以便在不创建签名的情况下计算签名的大小。
签名可直接存储在文件中或返回给调用方。
如果指定了 SN_SIGN_ALL_FILES,但未包含公钥(pbKeyBlob 和 wszFilePath 都为 Null),则重新计算链接的模块的哈希,但不对程序集进行重新签名。
如果指定了 SN_TEST_SIGN,则不修改公共语言运行时标头以指示该程序集是用强名称签名的。
要求
**平台:**请参见 .NET Framework 系统要求。
头文件: MetaHost.h
**库:**作为一项资源包含在 MSCorEE.dll 中
**.NET Framework 版本:**4
请参见
参考
其他资源
ICLRStrongName::StrongNameSignatureGeneration 方法
修订记录
Date |
修订记录 |
原因 |
---|---|---|
2011 年 4 月 |
纠正返回值。 |
内容 Bug 修复 |
2010 年 7 月 |
新增主题。 |
信息补充。 |