标签: code-signing

撤销分发证书会影响Iphone的In Review(在苹果商店)吗?

我刚刚重新安装操作系统丢失了我的私钥,因此必须创建新的证书签名请求..我想知道撤销我的分发证书是否会对我在App Store上的现有应用程序产生任何影响,尤其是当我的某个应用程序正在等待批准时(在审核中)从旧的分发证书构建.

我是否应该等待Apple接受该应用程序或撤销分发证书对该应用程序没有任何影响?

xcode code-signing app-store ios

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

Xcode管理器 - 无法刷新供应配置文件列表

我正在使用Xcode 4.3.3

以前一切都工作得很好,但几个月前,我再也无法通过Organizer刷新配置文件了.

问题:

  • 我打开组织者
  • 单击顶部的"配置配置文件"
  • 然后点击右下角的"刷新"按钮
    1. 它显示"正在下载开发证书..."并提示登录.
    2. 成功登录后,会显示"获取团队列表...",然后显示错误:

      "您无权执行此操作.请与您的团队管理员联系,或者,如果您需要进一步的帮助,请联系Apple Developer计划支持"


更多信息:

  • 团队管理员
  • 我有有效的开发人员证书,如Apple Developer Portal,我的Keychain和Organizer中所示(就像我说的,这一切都曾经用过)
  • 我在Organizer中显示了几个有效的配置文件.
  • 我在组织者中展示了两个团队:
    1. 一个有开发开发者证书(我的)
    2. 一个带分发证书(适用于应用商店)
  • 这不是密码问题(当我输入错误的密码时出现不同的错误)
  • 我已经删除了除了我的所有其他开发人员证书和分发证书
  • 如果我手动下载它,我可以成功添加证书
  • 如果我手动下载它,我可以成功添加配置文件
  • 在Apple Developer Portal中,没有标记为"无效"的配置文件(但有一些已过期)
  • 我强制退出Xcode,甚至重启了Mac

这在iOS6发布后的某个时间开始发生(绝对不是在同一时间).我已经阅读过关于这个主题的类似问题,但大多数问题都是针对"损坏的数据"错误消息.对我来说情况并非如此.

更新1(11月13日)

我现在做了以下事情:

  • 我已从Keychain中删除了所有证书,包括公钥和私钥.
  • 我在Apple Dev Portal中撤销了我的证书.
  • 我重新启动了机器.
  • 我再次打开Xcode并点击刷新:
    1. 它让我登录,并提示提交新证书的请求.
    2. 新证书已成功批准并发布,并下载到我的钥匙串中(我看到新的公钥和私钥,以及证书).

但是,我仍然在配置文件的"刷新"上遇到相同的错误:" 您不允许执行此操作 ",并且我在组织者中没有配置文件.

更新2(11月13日)

  • 我现在已更新到XCode 4.5
  • 在第一次刷新时,它确实有效.
  • 在所有后续刷新时,它都会失败并显示相同的错误消息"您不允许执行此操作.请与您的某个团队管理员联系,或者,如果您需要进一步的帮助,请联系Apple开发人员计划支持",但现在在"生成Mac团队配置文件"后执行此操作
    1. 请注意我没有使用Mac开发.我没有启用开发者模式,我没有Mac Developer程序.
    2. 我已尝试启用和不启用Mac Developer Mode.
    3. 尽管存在相同的模糊错误消息,但它实际上似乎正在更新iOS配置文件.

经过这么多时间,我仍然决定删除此错误消息.也许有人可以协助并告诉我XCode在哪里保留它的应用程序日志?有没有类似Mac的Windows"事件查看器"?

xcode code-signing ios provisioning-profile

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

如何在虚拟机上使用EV代码签名证书来签署MSI

我们最近从DigiCert购买了EV代码签名证书,以签署我们的MSI以解决Windows SmartScreen警告消息.问题是证书被传递到USB令牌,不允许导出私钥.我们的构建环境位于托管VM上,因此我们无法将USB令牌插入主机VM.

有没有人有在托管虚拟机上使用EV代码签名证书的解决方案?是否所有证书供应商都将此类证书提供给硬件令牌?您如何使用此类证书在虚拟环境中对MSI进行代码签名?

code-signing code-signing-certificate

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

BouncyCastle Cryptography提供程序库,与Java 7u40上的applet一起使用

案例:我正在维护一个Java applet,它使用BouncyCastle库bcpkix-jdk15on-149.jarbcprov-jdk15on-149.jar.

问题是applet是否在支持JRE版本7_u40的浏览器上运行.
该行为已从版本7_u25更改为始终提示模式窗口,如"使用自签名证书的应用程序的安全提示"(不能再永久隐藏),只是为了信任bcprov.

https://www.java.com/en/download/help/appsecuritydialogs.xml

据我所知,这是因为BC库是使用"JCE Code Signing CA"颁发的BouncyCastle证书签名的.因此,lib可以执行并充当加密提供程序.

但是:JRE无法构建证书链以信任签名.它显示"提供者:UNKNOWN"

我知道我可以删除该签名并自行签名(我拥有Thawte代码签名证书):

  • 它适用于bcpkix lib
  • 它不适用于bcprov,因为它不会被视为有效的加密提供程序(它不会被JRE信任).

我对吗?我能做什么?
PS:我搜索了很多东西来找到JCA根证书(将它放入JRE信任库),没有成功......有没有办法获取根CA?

applet bouncycastle code-signing jarsigner

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

为什么使用开发或企业证书签署的iOS应用程序启动较慢

我不禁注意到我的iPhone 5上使用我的开发证书和我公司的企业分发证书签名的应用程序需要大约4秒才能启动或激活.这是点击应用程序图标和查看启动图像之间所花费的时间 - 显然不包括应用程序的初始化代码.

这是一个尴尬的4秒,其中应用程序的图标在点击后仍然变暗,主屏幕冻结(甚至无法向右/向左滚动).

奇怪的是,从后台重新激活应用程序需要大约相同的时间(即启动应用程序,等待它运行,按主页按钮,然后立即再次点击应用程序的图标).

问题是:

  • 是什么造成的?
    • 我的直觉归咎于Springboard尝试在每次点击应用程序图标时验证签名证书.但是我无法证明这一点.
  • 如何减少启动冻结时间?(如果可能的话?)

我在iPhone 5上使用iOS 8.3进行了测试

optimization code-signing ios springboard ios8

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

Command/bin/sh失败,退出代码1和嵌入式pods框架

无法识别实际问题,在更新coco pod时收到消息" 由于主要版本更新而重新创建CocoaPods. "(仅出现一次)并且pod更新成功.在构建后,我收到错误.命令/ bin/sh失败,退出代码为1.以下是我得到的一些细节

  1. Code Signing /Users/Gaurav/Library/Developer/Xcode/DerivedData/Appname-******/Build/Products/Debug-iphoneos/Appname.app/Frameworks/Alamofire.framework with Identity iPhone Developer: Account Name (Account Id)
  2. /usr/bin/codesign --force --sign ***************** --preserve-metadata=identifier,entitlements "/Users/UserName/Library/Developer/Xcode/DerivedData/Appname-***************/Build/Products/Debug-iphoneos/Appname.app/Frameworks/Alamofire.framework"
  3. /Users/Username/Library/Developer/Xcode/DerivedData/Appname-************/Build/Products/Debug-iphoneos/Appname.app/Frameworks/Alamofire.framework: bundle format unrecognized, invalid, or unsuitable

我使用iOS 8作为部署目标和Xcode 7.3.1我检查了没有任何问题的代码签名身份.我已经重新安装了所有pod和Alamofire,但是没有确定问题.

xcode code-signing ios swift alamofire

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

如何验证签名的jar是否包含时间戳?

签名jar并使用-tsa选项后,如何验证时间戳是否包含在内?我试过了:

jarsigner -verify -verbose -certs myApp.jar
Run Code Online (Sandbox Code Playgroud)

但输出没有指定时间戳的任何内容.我问,因为即使我在-tsa URL路径中有拼写错误,jarsigner也会成功.这是在GlobalSign TSA网址:http://timestamp.globalsign.com/scripts/timstamp.dll和服务器背后显然接受任何路径(即timestamp.globalsign.com/foobar),所以最后我不确定我的罐子是否加盖时间戳.

java jar code-signing digital-signature trusted-timestamp

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

我们为什么要在进行代码签名时设置时间戳?

如果我通过签名设置时间戳,会发生什么?
如果我没有设置怎么办?

这是必要的吗?为什么推荐?

cryptography code-signing portable-executable trusted-timestamp

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

是什么阻止Java使用多个签名算法验证签名的jar

快速背景: 我们发布了一个webstart应用程序,其中包括我们自己的应用程序罐和众多第三方jar.Webstart要求jnlp文件引用的所有分布式jar都由单个证书签名.因此,我们使用自签名证书签署所有罐子(我们的罐子和第三方罐子).一些第三方罐子已经由生产它们的一方签署,但我们只是再次签署它们,这很好.到现在.

问题: 我们最近从Java 6迁移到Java 7,突然webstart拒绝加载一些jar,抱怨:"无效的SHA1签名文件摘要".这只发生在一些罐子而不是其他罐子上,并且那些失败的罐子似乎有多个签名.

在搜索SO和互联网之后,似乎Java的jarsigner的默认签名算法在Java 6和Java 7之间已经发生了变化,从SHA1到SHA256,并且各种人都建议使用"jarsigner -digestalg SHA1"来解决验证问题.我试过了,果然我们的多重签名罐子验证了.所以这似乎是我们问题的解决方法.

从我可以收集到的内容来看,第三方签名似乎是SHA1签名,我们使用默认签名 - SHA256签名 - 导致签名混合.当我使用'-digestalg'开关强制SHA1时,我们有两个相同类型的签名,验证现在可以正常工作.所以似乎这个问题是由多个签名使用不同的算法引起的?或者还有其他一些我缺失的因素.

问题:

  1. 为什么无法使用SHA1 + SHA256验证,但使用SHA1 + SHA1进行验证?有技术原因吗?安全政策的原因?为什么不能验证两个签名是否正确?
  2. 使用(继续使用)SHA1而不是现在默认的SHA256有什么缺点吗?

java jar code-signing java-web-start jarsigner

18
推荐指数
1
解决办法
8228
查看次数

如何在eclipse for android中设置自定义密钥库以进行调试

我有一个自定义密钥库,我用它来签署我的apk.现在我想使用相同的密钥库进行调试.当我去eclipse-> windows-> preferences-> android-> build并设置我的自定义密钥库时,我得到"Keystore被篡改,或密码不正确"?

java android code-signing apk android-keystore

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