标签: code-signing

没有强命名的代码签名是否会让您的应用程序被滥用?

试图了解authenticode代码签名和强命名.

我是否正确地认为,如果我对引用一些dll(不是强名称)的exe进行代码签名,恶意用户可以替换我的DLL并以一种看起来像是由我签名但正在运行的方式分发应用程序他们的代码?

假设这是真的,看起来你真的不想在没有强烈命名整个事情的情况下签署.NET应用程序,否则你会让人们能够在你编写的应用程序的幌子下执行代码?

我不确定的原因是,我在网上找到的文章(包括使用SN + Authenticode的MSDN文档)似乎都没有提到这一点,这似乎是一个相当重要的理解点(如果我理解正确) ?

.net c# strongname code-signing authenticode

22
推荐指数
1
解决办法
2149
查看次数

如何为App Store分发重新签名iOS应用程序?

我试图了解代码签名过程的工作原理.我的目标是获取使用公司A的企业证书签名的.ipa文件,更改捆绑包ID,然后使用公司B的App Store Distribution证书再次签名并发布到App Store.

首先,这甚至可能吗?我在这里读到" ......我很确定你不能(也不应该)使用这个工具来重新签名App Store分发证书 ".有人可以详细说明吗?

我已经尝试了许多脚本喜欢这个这个这个,但一些调整后,他们都似乎有同样的问题,当我尝试发送应用程序使用应用程序加载器的审查.我到达的错误是:

  • 应用程序验证失败.签名无效,包含不允许的权利,或者未使用iPhone分发证书签名.
  • 无法从/var/folders/67/(large_number)/new.ipa/Payload/original.app/original中提取权利

任何人都可以帮助我吗?请注意,我知道如何通过出口证书等来做到这一点 - 但在这里我正在探索B公司是否能够自己做到这一点,如果我给他们公司A的.ipa文件.我可以更详细地解释我在做什么,如果需要的话 - 只要问一下.

谢谢!

编辑:我已经知道这个封闭的SO问题,但我发布了一个新问题,因为我认为我的更具体,我不是要求通用的方法来实现我想要的 - 我只想看看所描述的场景是可能的.

code-signing app-store ios

22
推荐指数
2
解决办法
3150
查看次数

我可以从DLL中删除数字签名吗?

我的安装程序在构建过程中使用代码签名证书"​​签署"DLL.

我注意到如果我尝试连续构建两次,第二次构建失败,因为DLL已经签名所以签名代码扼流圈.显然,我可以通过在构建中签署DLL的副本来解决这个问题,但问题引起了我的兴趣:

是否可以"取消签名"DLL,如果没有,为什么不......?

dll winapi code-signing

21
推荐指数
5
解决办法
3万
查看次数

Travis CI无法使用代码签名错误构建

Travis CI无法构建我的应用程序,因为Xcode项目设置为需要代码签名而Travis没有我的证书.我可以通过禁用代码签名来解决此问题,但随后沙盒和授权将无法正常工作.我知道,从普通的命令行构建的时候,你可以传递CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NOxcodebuild禁用代码签名,但你怎么特拉维斯CI做到这一点

这是我的.travis.yml:

language: objective-c
xcode_workspace: "Mac Linux USB Loader.xcworkspace"
xcode_scheme: "Mac Linux USB Loader"
Run Code Online (Sandbox Code Playgroud)

这就是错误(我已经编写了许多以前引用Cocoapods的行,因为它们不相关:

Check dependencies
Code Sign error: No code signing identities found: No valid signing identities (i.e. certificate and private key pair) matching the team ID “T47PR9EQY5” were found.
Run Code Online (Sandbox Code Playgroud)

macos xcode code-signing travis-ci

21
推荐指数
2
解决办法
4488
查看次数

.apk文件如何签名

这不是关于如何签署.apk文件的问题.我想知道签名实际意味着什么以及如何实施.

在.apk文件里面有META-INF文件夹,里面有两个文件.

第一个是CERT.SF包含各种组件的SHA1哈希,如下所示:

Name: res/layout/main.xml
SHA1-Digest: Cox/T8fN1X9Hv4VqjH9YKqc/MsM=

Name: AndroidManifest.xml
SHA1-Digest: wZ418H9Aix1LNch3ci7c+cHyuZc=

Name: resources.arsc
SHA1-Digest: P+uoRrpFyVW6P3Wf+4vuR2ZSuXY=

Name: classes.dex
SHA1-Digest: cN3zXtGii9zuTOkBqDTLymeMZQI=
Run Code Online (Sandbox Code Playgroud)

还有一个名为CERT.RSA的文件.我认为这是验证签名的公钥.

我的问题是,整个.apk文件的签名存储在哪里?实际上签了什么?它可能是

  • .apk文件用作单个二进制对象,并且已签名
  • 或CERT.SF签名,其中包含不同组件的单个哈希值

如果您能够向我指出详细签名和验证过程的文档,那也会好得多.

android code-signing

20
推荐指数
2
解决办法
1万
查看次数

snk与代码签名证书

在我的组织中,我们使用具有强名称程序集的snk文件.我们自己生成snk.

此外,我们在二进制文件上使用代码签名签名.我们从Verisign获得了pfx.

  • 这两个过程有什么区别?
  • 是不是从Verisign也没有收到snk的问题?

c# strongname code-signing certificate x509

20
推荐指数
1
解决办法
1万
查看次数

在MSBuild,Team Build和TFS中使用PFX文件对程序集进行签名

尝试使用TFS 2010 上的Team Build(MSBuild)构建项目时出现此错误:


C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1970):
无法导入以下密钥文件:CCC.pfx.
密钥文件可能受密码保护.

要更正此问题,请尝试再次导入证书,或使用以下密钥容器名称手动将证书安装到强名称CSP:VS_KEY_C00C673BBB353901

C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1970):
导入密钥文件"CCC.pfx"已取消.


它在Visual Studio 2010中构建正常.程序集使用PFX文件进行签名.通常在Visual Studio中,我们会在第一次构建时提示输入密码,但之后再也不会...

我试过跑:

sn -i companyname.pfx VS_KEY_3E185446540E7F7A 
Run Code Online (Sandbox Code Playgroud)

正如Stack Overflow问题中建议的其他回复无法导入密钥文件'blah.pfx' - 错误'密钥文件可能受密码保护'.我已尝试按Stack Overflow问题中的建议导入个人证书存储区使用MSBuild对ClickOnce或程序集结果进行错误MSB3321签名.但一切都无济于事,仍然是同样的错误.

我该怎么做?我是否必须以某种方式将证书添加到构建服务运行的Windows帐户或类似的东西?

或者,如何在Team Build中完成构建而不使用签名?我只是想检查它编译并运行单元测试.我不需要签名.

msbuild code-signing tfsbuild

20
推荐指数
3
解决办法
2万
查看次数

应用安装失败.未找到代码签名

我最近升级到Xcode 10并开始更新我们的应用程序以切换4.2的过程在重建第三方框架并为各种问题添加变通方法一天左右之后,我能够在新的模拟器上运行我们的应用程序.

但是,当我尝试在我的个人电话上运行(运行iOS 12.0 GM)时,我在安装应用程序时遇到了错误,如标题中所述.

我知道在SO和互联网上有很多关于这个主题的已经 回答的 问题,但是我无法让这些问题起作用.

它已经阻止了我一天半左右,所以我想知道是否有人对如何减轻这种情况有任何见解.

到目前为止我采取的步骤还没有奏效(也许他们将来会为其他人工作!):

  1. 清除派生数据
  2. 删除并重新下载计算机上的所有配置文件
  3. 清理构建目录(cmd + k&cmd + shft + k)
  4. 从手机中删除原始应用
  5. 重启Xcode(版本10.0(10A254a)[GM])
  6. 重启我的Mac(运行macOS High Sierra的Macbook Pro 2018)
  7. 重启我的设备(运行iOS 12.0 GM的iPhone X)
  8. 上述的许多不同组合,包括一次全部
  9. 在developer.apple.com上重新生成应用程序的配置文件(我们使用手动签名)
  10. 在developer.apple.com上删除并重新创建应用程序的配置文件
  11. 向蒂姆库克牺牲了一只山羊
  12. 确保签名证书与配置文件匹配
  13. 从我的计算机中删除旧版本的Xcode和确保命令行工具在xcode 10.0 gm版本上
  14. 删除并重新安装Xcode 10.0 GM
  15. 确保已code sign on copy检查所有复制的框架
  16. 使用swift 4.2编译器通过Carthage重建所有框架(记住,它都可以在模拟器上运行).
  17. 在SDKSettings.plist中,所需的确保代码签名设置为YES
  18. 删除了我计算机上的所有旧签名证书
  19. 在developer.apple.com上删除并重新创建的证书
  20. 删除并重新将我的设备添加到developer.apple.com
  21. 将代码签名从手动更改为自动
  22. 确保签名证书Developer,而不是Distribution

任何帮助将不胜感激 :)

更新:我尝试在新机器上从头开始重新下载和重建,并出现同样的问题.有趣的是,我可以存档和验证应用程序就好了.

还尝试使用相同的包ID签署一个空项目,它工作正常.所以问题出在我们的第三方框架或者从Xcode 9.4过渡时启用的一些奇怪的设置.开始逐个删除第三方框架,直到我可以编译它.

更新2:仍然没有运气.试图清除大多数框架而没有任何东西.这是设备日志,想知道是否Skipping a profile because of error 0xe8008012与它有关:

https://gist.github.com/joshuawright11/6889ce1a0872262df77f97d63830baa5

更新3 …

xcode code-signing ios ios12 xcode10

20
推荐指数
3
解决办法
5156
查看次数

使用密码保护的代码签名的Team Foundation Server Build失败

我正在尝试在TFS 2008上设置持续集成构建.在我要构建的项目中,我使用密钥进行签名.此密钥使用密码.我无法构建它,因为在构建期间TFS想要显示一个无法显示的对话框.我想我需要在服务器上手动构建项目,但只有TFS资源管​​理器和构建部件安装在服务器上.有关如何使我的项目正确构建的任何建议?

这是TFS给出的错误:

C:\ WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(1805,7):错误MSB4018:"ResolveKeySource"任务意外失败.System.InvalidOperationException:当应用程序未在UserInteractive模式下运行时显示模式对话框或窗体不是有效操作.指定ServiceNotification或DefaultDesktopOnly样式以显示来自服务应用程序的通知.在Microsoft.Build.Tasks.ResolveKeySource.Execute()的Microsoft.Build.Tasks.ResolveKeySource.ResolveAssemblyKey()上的System.Windows.Form.ShowDialog(IWin32Window所有者)处的System.Windows.Forms.Form.ShowDialog()

tfs continuous-integration build code-signing delay-sign

19
推荐指数
1
解决办法
1万
查看次数

在Android的gradle.properties中发布签名

因此,我正在尝试将所有的ant构建脚本转换为gradle,并且除了如何在gradle.properties文件中配置签名之外,我已经能够找到所有这些资源和文档.

ant.properties就像这样:

key.alias=alias
key.store.password=password
key.store=keystore.file
key.alias.password=password
Run Code Online (Sandbox Code Playgroud)

但是我如何在gradle中做同样的事情呢?

build-automation android code-signing gradle

19
推荐指数
3
解决办法
2万
查看次数