首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Sn.exe中自动输入密码

在Sn.exe中自动输入密码
EN

Stack Overflow用户
提问于 2010-06-29 05:36:37
回答 6查看 9K关注 0票数 10

我需要创建post build事件来执行以下操作:

代码语言:javascript
复制
sn -i MyKey.pfx MyKeyContainerName
tlbimp $(ConfigurationName)\MyCom.tlb /out:$(ConfigurationName)\NETMyCom.dll /keycontainer:MyKeyContainerName
sn -d MyKeyContainerName

当Visual执行第一条语句时,它需要一个密码,并等待直到用户指定它并失败。

微软(注册商标) .NET框架强名称实用软件版本2.0.50727.42版权(c)微软公司。版权所有。 输入PKCS#12密钥文件的密码:未能在mykey.pfx中解析PKCS#12 blob --句柄无效。

我试图使用sn命令行参数指定密码,但找不到一种方法。

请帮帮忙。

你好,希尔米。

EN

回答 6

Stack Overflow用户

发布于 2019-11-09 16:11:13

不幸的是,这里提到的任何方法对我都没有用。我得在码头集装箱里登记几个pfx。

因此,我使用sn.exe -i <infile> <container>重新开发了C#中的RSACryptoServiceProvider命令。源代码和应用程序都在GitHub上,在SnInstallPfx项目中。

SnInstallPfx应用程序接受PFX密钥及其密码。它自动计算密钥容器名称(VS_KEY_*) (借用MSBuild源代码),并将其安装到强名称CSP。

用法:

代码语言:javascript
复制
SnInstallPfx.exe <pfx_infile> <pfx_password>
票数 7
EN

Stack Overflow用户

发布于 2012-06-01 14:45:03

如果像我一样,您没有使用TFS或MSBUILD来构建,那么至少还有两种其他方法:

( a)从脚本中运行sn.exe,并将密码写入stdin

有关这里示例,请参阅C#:

注意:使用.NET4版本的sn.exe,似乎不可能将其作为外部进程执行(至少在Windows上),并将密码写入stdin (我尝试使用python +和C#,而sn.exe似乎只是退出而不等待密码输入)。

( b)使用已安装的pfx重新签名密码。

如果您已经安装了pfx文件,那么您可能知道容器名称(通常Visual使用类似于VS_KEY_ABAB1234ABAB1234的名称)

如果像我一样,您不知道或不记得容器名称,那么只需重新安装pfx文件:

代码语言:javascript
复制
sn -i myPfxFile VS_KEY_ABAB1234ABAB1234

sn.exe将提示您输入密码,因为它在pfx文件中安装证书。

然后,您可以让sn.exe重新签名您的程序集,而不需要输入密码:

代码语言:javascript
复制
sn -Rca myAssembly.dll myVSkey

以上内容可以用于构建脚本,因为不需要交互:-)

注意,请记住检查签名是否确实有效:

代码语言:javascript
复制
sn -v myAssembly.dll
票数 3
EN

Stack Overflow用户

发布于 2013-02-02 00:42:30

我今天遇到了这个问题,我在ClickOnce C#应用程序中使用了一个ClickOnce DLL。

我在DLL上设置了延迟签名,然后使用编译后事件运行SN,如下所示:

代码语言:javascript
复制
ECHO <your-password-here> | sn.exe -R $(OutDir)$(TargetFileName) $(MSBuildProjectDirectory)<path-to-pfx-file>

一定很喜欢传统的批处理方法。ECHO <your-password-here>打印您的密码,管道|将输出到SN.exe,SN.exe接受密码。

您可能不需要像我这样的延迟签名和-R交换机,但是您知道了。

编辑:这可能已经行不通了--我的答案是从2013年开始,当时我使用的是VS2010。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3138106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档