私の目標は、既存の秘密鍵を使用してCSR(証明書署名要求)を作成し、Appleに送信して新しいiPhone配布証明書を生成することでした。証明書が左側で選択したカテゴリであることを確認しました。秘密キーを右クリックし、[秘密キーをインポートして認証局に証明書を要求する ]をクリックしてみましたが、保存しようとすると次のエラーが表示されました。
指定されたアイテムがキーチェーンに見つかりませんでした。
ファイルメニューを実行したときにも同じエラーが発生しました:キーチェーンアクセス > 証明書アシスタント
他のインターネットソースから収集したのは、秘密キーをインポートした場合、キーチェーンアクセスでは新しいCSRを作成できないことです。ツールからローカルでキーを作成した場合のみです。
代わりに私が最終的に行ったのは、秘密鍵をエクスポートし、opensslを使用して新しいCSRを生成することでした。これはAppleが受け入れ、現在は新しいインポートされた秘密鍵を参照しています。
秘密鍵のエクスポート
- 秘密鍵を右クリック
- 書き出す
- p12ファイル形式が選択されていることを確認してください
- 保存する
- パスワードを入力してください(オプション)
- 鍵のエクスポートへのアクセスを許可
- ターミナルを開き、エクスポートされたディレクトリに移動します
- p12コンテナーからキーを抽出する
.pem秘密鍵はパスワード保護されなくなったので注意してください)
$ openssl pkcs12 -in Certificates.p12 -out Certificates.pem -nodes
Enter Import Password: ********************
MAC verified OK
エクスポートされた秘密鍵を使用して新しいCSRを作成する
$ openssl req -out Certificates.csr -key Certificates.pem -new
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:.
State or Province Name (full name) [Some-State]:.
Locality Name (eg, city) []:.
Organization Name (eg, company) [Internet Widgits Pty Ltd]:.
Organizational Unit Name (eg, section) []:.
Common Name (e.g. server FQDN or YOUR name) []:John Doe Dev Key
Email Address []:thon@example.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
注意すべき2つの点:
- 入る 。フィールドを空白にしたい場合、またはデフォルトでは角括弧[]にあるものをすべて含めます。
- 共通名(CN)は秘密鍵の名前にする必要があります(John Doe Dev Keyなど)
- メールアドレスはあなたのメールアドレスである必要があります(例:thon@example.com)
- 他はすべて空白にする必要があります
CSRを確認する
$ openssl req -noout -text -in Certificates.csr
Certificate Request:
Data:
Version: 0 (0x0)
Subject: CN=John Doe Dev Key/emailAddress=thon@example.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
…
Exponent: 65537 (0x10001)
Attributes:
a0:00
Signature Algorithm: sha1WithRSAEncryption
…
あなたが気にする必要があるのは件名です行であり、それが正しいことを確認します。
あとは、それをAppleに送信し、証明書が生成されるのを待って、インストールするだけです。新しく生成された証明書をインポートすると、上記でエクスポートした古い証明書を参照することがわかります。