JWrapper:签署OSX App' NoSuchAliasException'

时间:2015-10-27 02:02:18

标签: macos jwrapper

我正按照以下说明尝试签署我的JWrapper OSX应用程序: http://www.jwrapper.com/guide-code-signing.html

我创建了一个开发者ID,导出了3个证书,并创建了一个P12商店。但我不确定我应该在这里给出哪个ID:

<DeveloperIdAlias>your developer ID (typically 'developers name dev key')</DeveloperIdAlias>

这究竟是哪个ID,我在哪里可以找到它?我尝试了所有可以找到的东西(我的名字,Apple ID,用户ID密钥,&#39;组织单位&#39;密钥,当我点击钥匙串中的mac开发人员证书时,我的名字旁边出现的另一个10位数密钥)。 ..在每种情况下,我都会收到此错误:

[MacOS] Signing OSX App
**********************************
*          BUILD FAILED          *
**********************************
** Error Trace:

utils.buildtools.common.signing.KeyStoreDetails$NoSuchAliasException: Unable to find alias 'KL596QNCVZ'
    at utils.buildtools.common.signing.KeyStoreDetails.loadKeyStore(KeyStoreDetails.java:88)
    at utils.buildtools.common.signing.KeyStoreDetails.<init>(KeyStoreDetails.java:40)
    at utils.buildtools.osx.signer.MacSigner.initialiseCertificate(MacSigner.java:639)
    at utils.buildtools.osx.signer.MacSigner.signApp(MacSigner.java:794)
    at jwrapper.JWrapperCompiler.main(JWrapperCompiler.java:2468)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at SecureRunner2.<init>(SecureRunner2.java:452)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at SecureRunner1.<init>(SecureRunner1.java:422)
    at SecureRunner1.<init>(SecureRunner1.java:227)
    at SecureRunner1.main(SecureRunner1.java:52)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at jwrapper.launch.JWCompiler.main(JWCompiler.java:112)
** Reason: utils.buildtools.common.signing.KeyStoreDetails$NoSuchAliasException: Unable to find alias 'KL596QNCVZ'
编辑:我已将证书和p12放在目录中,并根据需要提供路径。请注意,为开发人员ID别名提供的密钥是出现在错误消息中的密钥,如上所述,我为此字段尝试了许多不同的操作但总是得到相同的错误:

<SignForMac>
  <AppleRootCertificate>../Certificates/AppleIncRootCertificate.cer</AppleRootCertificate>
  <DeveloperIdCertificate>../Certificates/DeveloperIDCA.cer</DeveloperIdCertificate>
  <DeveloperIdP12>../Certificates/certificates.p12</DeveloperIdP12>
  <DeveloperIdAlias>KL596QNCVZ</DeveloperIdAlias>
  <DeveloperIdPassword> ... </DeveloperIdPassword>
</SignForMac>

谢谢,

丹尼尔

1 个答案:

答案 0 :(得分:1)

您似乎需要在某处(例如在“.cer”文件夹中)将您的.p12Certificates文件放在磁盘上,而不仅仅是在Keychain中。

然后您的XML配置文件将包含条目that look like this

<SignForMac>
        <AppleRootCertificate>/Path/To/Certificates/AppleIncRootCertificate.cer</AppleRootCertificate>
        <DeveloperIdCertificate>/Path/To/Certificates/DeveloperIDCA.cer</DeveloperIdCertificate>
        <DeveloperIdP12>/Path/To/Certificates/DeveloperID.p12</DeveloperIdP12>
        <DeveloperIdAlias>my company dev key</DeveloperIdAlias>
        <DeveloperIdPassword>BlahBlahBlahBlah</DeveloperIdPassword>
</SignForMac>