如果您决定签署代码,则需要:
下载这些工具的最佳位置是什么?
有没有办法在不下载大量Microsoft Windows SDK的情况下执行此操作?
从Xcode 5,Preferences-> Accounts导出代码签名身份时,我在保存"无法从钥匙串导出身份"时收到错误.
它能是什么?
编辑:
login.keychain已解锁.我要导出的配置文件的帐户已连接,并且还存在于login.keychain中.
Console.app输出:
31/05/14 15:23:06,879 Xcode[489]: Error, Could not export identity from the keychain: The user name or passphrase you entered is not correct.
Run Code Online (Sandbox Code Playgroud) 我们制作了一个内容管理系统.它是一个基于数据库的系统,仅供企业和组织使用,不能从Internet下载.也就是说,它不是某种人可能偶然发现的软件,不知道它是什么以及它是否安全.在20多年的时间里,我们的系统正在销售,其可执行文件从未经过数字签名.是时候开始签名吗?
对于初学者,我可以想到一些优点和缺点:
我在XCode 4.2中选择"Build to Archive",出现以下错误:
Validate "/Users/merlin/Motivapps/DerivedData/GoalWorkshop2-gzesusxljzqjkmbznfkkmylstlca/ArchiveIntermediates/GoalWorkshop2/InstallationBuildProductsLocation/Applications/Goal Wshop.app"
cd /Users/merlin/Motivapps/GoalWorkshop2
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
setenv PRODUCT_TYPE com.apple.product-type.application
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/Validation "/Users/merlin/Motivapps/DerivedData/GoalWorkshop2-gzesusxljzqjkmbznfkkmylstlca/ArchiveIntermediates/GoalWorkshop2/InstallationBuildProductsLocation/Applications/Goal Wshop.app"
2011-06-10 17:10:48.879 Validation[15683:607] *** Warning: Defaulting to the standard codesign tool
warning: There is no codesign_wrapper executable. Please reinstall the Xcode developer tools. (-19058)
Unable to validate your application. - (null)
Run Code Online (Sandbox Code Playgroud)
相同的配置适用于以前的XCode,我只是仔细检查 - 代码签名证书是有效的.建议?
在我的C#/ .NET应用程序中,我必须检查给定的可执行文件是否经过数字签名 (最好不Exception进行测试).
然后我需要检查其证书是否有效 (基于已安装的根证书)以及文件内容是否对签名有效.
这里有很多课程BCL,我不知道从哪里开始和使用什么,到目前为止我发现的任何东西并没有消除我的困惑......
如果没有 P/Invoke可能,我想做这样的事情:
bool IsSignedFile(string path);
Cert GetCertificateFromSignedFile(string path);
bool IsValidCertificate(Cert cert)
Sig GetSignatureFromSignedFile(string path);
bool IsValidSignature(string path, Sig sig, Cert cert);
Run Code Online (Sandbox Code Playgroud)
补充说明:
我目前遇到的一个大问题是,我找不到一种方法来轻松获取此类文件的签名.仍然希望有一个提供的,可管理的BCL解决方案,因为如果缺少这一部分,我会感到惊讶.(对于证书,这可以通过公正的方式完成,也可以进行X509Certificate.CreateFromSignedFile验证)
我不希望将50%的工作与P/Invoke代码或大型不同的库混合使用.
我找到了一个AuthenticodeSignatureInformation类,但没有关于为给定的可执行文件使用它的信息.
这是一个经典问题,其中描述了许多解决方案.但是,它们似乎都不适合我.
我在SharePoint解决方案中使用Report.NET库.添加Reports.dll作为参考并在错误消息中编译结果"程序集生成失败 - 参考程序集'报告'没有强名称." 但是,我的项目在项目属性中链接了一个key.snk.所以我尝试用这个密钥文件反汇编,签名和重新组装dll,如别处所述:
C:\Users\Administrator\Documents\Visual Studio 2010\Projects\MyProj
\dll>ildasm Reports.dll /out:Reports.il
C:\Users\Administrator\Documents\Visual Studio 2010\Projects\MyProj
\dll>ilasm Reports.il /dll /resource=Reports.res /key=..\key.snk
<output removed for brevity>
Class 95
Class 96
Method Implementations (total): 1
Resolving local member refs: 0 -> 0 defs, 0 refs, 0 unresolved
Writing PE file
Signing file with strong name
Operation completed successfully
Run Code Online (Sandbox Code Playgroud)
我最终得到了一个新的Reports.dll时间戳.但是,将此作为对项目和构建的引用添加,会提供与以前相同的错误消息."Reports"引用的属性显示"强名称:False".
不要因为有点麻烦而气馁,我尝试使用强命名实用程序重新签名程序集:
C:\Users\Administrator\Documents\Visual Studio 2010\Projects\MyProj
\dll>sn -R Reports.dll ..\key.snk
Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All …Run Code Online (Sandbox Code Playgroud) Jenkins找不到我们最近更新的配置文件,在尝试了每个已知的解决方案后,我的想法已经用完了可能出错的地方.
构建作业失败并出现错误:
找不到匹配'xxxxx'的个人资料:Xcode找不到符合'xxxxx'的个人资料.
构建服务器是Mac,运行Xcode 8,我们正在使用Jenkins和Xcode插件.
在同一台机器上直接构建和签署Xcode 8是成功的,我通过双击安装了所有必需的配置文件.
有谁知道解决这个问题的任何可行的解决方案?
我有一个Xcode 10 - iOS12 swift项目,链接到我自己的框架(也是Xcode 10 + iOS12).
应用程序项目将我的框架项目作为子项目引用引用.
My Framework项目引用了PromiseKit.framework(一个通用框架 - 胖库),使用以下构建脚本制作:
# Merge Script
# 1
# Set bash script to exit immediately if any commands fail.
set -e
# 2
# Setup some constants for use later on.
FRAMEWORK_NAME="PromiseKit"
# 3
# If remnants from a previous build exist, delete them.
if [ -d "${SRCROOT}/build" ]; then
rm -rf "${SRCROOT}/build"
fi
# 4
# Build the framework for device and for simulator (using
# all needed architectures). …Run Code Online (Sandbox Code Playgroud) 我几个月来一直在为编译的应用程序签名,并且有一个调用 Windows 10 SDK 签名工具的脚本。它在两台不同的计算机上运行良好,我的证书有效。今天,我刚刚开始收到带有上面列出的错误编号的“意外内部错误”。我尝试禁用防病毒软件,这在这种情况下有所帮助,但对我的无效。
我的应用程序是用 Delphi 编写的,但我认为这并不重要,因为在 Visual Studio 下的Microsoft开发人员社区上报告了同样的问题。我一直在使用 SDK 的 10.0.18362.0 版,但在收到此错误后,发现有更新并尝试使用 10.0.19041.0 版但出现相同的错误。
还有其他人有这个问题吗?有什么建议?
我有一个 sectigo ev 证书,是通过 U 盘给我的。我可以使用 SafeNet 打开证书,并将证书导入到我的本地存储,但只能没有私钥。因为我想用它签署一个电子应用程序,所以我需要一个带有密码的 .pfx 文件。旧证书不是 ev 证书,我可以将其导出到 pfx 并在我的构建中使用它。我在文档中找不到将私钥与公钥一起导出的方法,所以我现在被困在这里。从我的谷歌搜索中,我还发现,我不应该导出私钥并使用硬件令牌对软件进行签名。但由于我想在 Azure 中的 CI/CD 中运行它,并且无法将我的 USB 记忆棒插入云中,所以我在这里并没有真正看到解决方案。
我有什么遗漏的吗?也许 SafeNet 中有一个选项?我真的不应该提取私钥吗?
code-signing ×10
xcode ×4
ios ×3
.net ×2
authenticode ×1
c# ×1
cryptography ×1
delphi ×1
executable ×1
frameworks ×1
iphone ×1
jenkins ×1
keychain ×1
makecert ×1
sharepoint ×1
signtool ×1
swift ×1
xcode10 ×1