安全性查找身份列出了身份,但是我在钥匙串访问中找不到该身份

时间:2018-09-28 19:55:13

标签: macos keychain code-signing-certificate

我用Apple's instructionscertSigningRequest文件创建了一个Apple发行证书:

  

要手动生成证书,您需要证书签名   来自Mac的请求(CSR)文件。要创建CSR文件,请按照   以下说明使用“钥匙串访问”创建一个。创建企业社会责任   文件。

     

在Mac上的Applications文件夹中,打开Utilities文件夹,然后   启动钥匙串访问。

     

在“钥匙串访问”下拉菜单中,选择“钥匙串访问”>   证书助理>从证书中请求证书   权限。

In the Certificate Information window, enter the following information:
    In the User Email Address field, enter your email address.
    In the Common Name field, create a name for your private key (e.g., John Doe Dev Key).
    The CA Email Address field should be left empty.
    In the "Request is" group, select the "Saved to disk" option.
Click Continue within Keychain Access to complete the CSR generating process.

我从Apple以.cer文件的形式下载了公钥。但是,现在,我在Keychain Access.app中找不到证书+密钥对。在Certificates钥匙串下选择Category login时,我希望会看到类似于我的开发证书+密钥对的东西。

Apple Development Certificate + Private Key pair under login->Certificates

我确实看到在Keys下列出了一个私钥,其私钥与我在.certSigningRequest中所包含的名字相同,但是通常我也可以在其下方看到一个证书,就像下面的开发证书中一样:< / p>

Apple Development Private Key + Certificate pair under login->Keys

我能够使用以下命令从命令行中找到身份

$ security find-identity
Policy: X.509 Basic
  Matching identities
  1) WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW "iPhone Developer: Heath Borders (XXXXXXXXXX)"
  2) YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY "iPhone Distribution: Heath Borders (ZZZZZZZZZZ)"
     2 identities found

  Valid identities only
  1) WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW "iPhone Developer: Heath Borders (XXXXXXXXXX)"
  2) YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY "iPhone Distribution: Heath Borders (ZZZZZZZZZZ)"
     2 identities found

但是,如果我在特定的钥匙串中搜索,就找不到它:

$ security list-keychains
    "/Users/hborders/Library/Keychains/login.keychain-db"
    "/Library/Keychains/System.keychain"
$ security find-identity /Users/hborders/Library/Keychains/login.keychain-db
    Policy: X.509 Basic
      Matching identities
      1) WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW "iPhone Developer: Heath Borders (XXXXXXXXXX)"
         1 identity found

      Valid identities only
      1) WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW "iPhone Developer: Heath Borders (XXXXXXXXXX)"
         1 identity found

$ security find-identity /Users/hborders/Library/Keychains//Library/Keychains/System.keychain
     0 valid identities found

我的证书在哪里?

1 个答案:

答案 0 :(得分:0)

由于某种原因,当我导入从Apple下载的.cer文件时,Keychain Access.app将公钥导入到System钥匙串中,并将私钥导入到我的login中钥匙扣。因此,仅在loginSystem中搜索无法找到身份。只有两者的结合才能产生有效的身份。

我将公钥从System钥匙串移到了login钥匙串,现在一切正常。