10

새 인증을 생성해야하는 경우, 프로비져닝 포털 "마법사"는 항상 새로운 CSR을 작성하는 단계를 제공합니다. 즉, 새로운 공개/개인 키도 생성해야합니다. 이것들은 통제를 벗어날 수 있으므로 매번 새로운 키를 생성하지 않고 기존의 개인 키에서 키 체인 접근에 CSR (코드 서명 요청)을 생성하는 방법이 있습니까?OSX 키 체인 APNS (Apple Push Notification Service)에 대한 기존 개인 키에서 액세스 CSR 생성

감사

답변

2

당신은/구성 푸시 알림을 사용하는 프로비저닝 프로파일로 이동이 요청 제일 먼저는 CSR (인증서 서명 코드)입니다.

새 키를 생성하는 대신 기존 개인 키를 키 체인 액세스에서 생성 할 수 있습니다.

키 체인 액세스를 연 다음 스크롤하여 이전 개인 키 (아마도 사용자 이름이라고 함)를 찾은 다음 마우스 오른쪽 버튼으로 클릭 (두 손가락 클릭)하고 을 선택하십시오. 인증 기관에서 "bla bla bla ".

사용자 이메일 주소와 CA 이메일 주소 모두에 동일한 이메일 주소를 입력하고 디스크에 저장을 선택하십시오.

그럼 당신은이 작업을 수행 할 수 있습니다,

+2

내가 같은 한 제안 위와 같이하지만 오류 발생합니다 :("지정된 항목을 키 체인에서 찾을 수 없습니다." –

+0

같은 문제가 있습니다.하지만 작년에 언젠가는 제대로 작동했는지 알고 있습니다 ... 그래서 사과가 무작위로 업데이트되었습니다. – Captnwalker1

+1

@ mysticboy59이 오류에 대한 자세한 내용은이 질문을 참조하십시오. http://stackoverflow.com/questions/16845169/error-when-trying-to-obtain-a-certificate-the-specified-item-could-not-be- 찾았습니다 –

26

일반적으로 당신은 .cer 파일을 만들 것을 업로드 마우스 오른쪽 버튼으로 클릭 키 체인 접근에서 기존 개인 키와 키의 이름 "으로 인증 기관에서 인증서 요청을 선택 ".

불행히도 키 체인에 해당 공개 키가 없으면 "지정한 항목을 키 체인에서 찾을 수 없습니다"와 함께 실패합니다. 이에 대한 기술적 인 이유는 없습니다. CSR (Certificate Signing Request)은 개인 키로 만 생성 될 수 있지만 키 체인 접근은이를 이해하지 못합니다.

두 가지 옵션이 있습니다.

수출 개인 키 및 CSR을 생성 수동

이것은 당신이 애플에 업로드 할 수있는 CSR를 생성하는 빠른 방법입니다. 수출 품목 ... -

  1. 키 체인 접근에서 개인 키를 선택

    다음 파일을 클릭합니다.
  2. 파일을 .p12 형식으로 저장하지만 경로는 기억하십시오. 이 지침은 홈 디렉토리에 있다고 가정하고 exported.p12라고합니다. 암호는 비워 둡니다.
  3. 터미널 열기를 입력 :

    openssl req -new -key <(openssl pkcs12 -in ~/exported.p12 -nocerts -nodes -passin pass:"") > new.certSigningRequest 
    

    참조 [1] 무슨 일이 일어나고 있는지에 대한 자세한 내용은이 게시물의 끝에.

  4. 각 프롬프트마다 Enter 키를 누릅니다 (Apple에서는이 값을 신경 쓰지 않습니다). 작업이 끝나면 .certSigningRequest을 Apple Developer Portal에 업로드하는 데 적합합니다.연결된 인증서를 다운로드하면 원래 개인 키와 쌍을 이룹니다.

  5. 개인 키 재료가 포함되어 있으므로 exported.p12 파일을 삭제하십시오. 키 체인 접근이 옵션을 사용하면 바로 키 체인 접근에서 원래 키에서 CSR을 생성 할 수 있습니다 장기적인 수정입니다

    행복 있도록

는 공개 키를 다시 만듭니다. 이 지침에서는 개인 키의 공개 버전이 누락되어 키 체인 접근을 사용할 수 없다고 가정합니다. 키 체인 접근에서 "키"카테고리로 이동하여 같은 이름의 "개인 키"와 "공개 키"를 찾으십시오. 수출 품목 ... -
  1. 키 체인 접근에서 개인 키를 선택

    다음 파일을 클릭합니다.
  2. 파일을 .p12 형식으로 저장하지만 경로는 기억하십시오. 이 지침은 홈 디렉토리에 있다고 가정하고 exported.p12라고합니다. 암호는 비워 둡니다.
  3. 터미널 열기를 입력 :

    openssl pkcs12 -in ~/exported.p12 -nocerts -nodes | openssl rsa -pubout > public.pem 
    

    참조 [2] 무슨 일이 일어나고 있는지에 대한 자세한 내용은이 게시물의 끝에.

  4. 가져 오기는 security 도구를 사용하여 키 체인 접근에이 공용 키 :

    security -v import public.pem -k ~/Library/Keychains/login.keychain 
    

    당신은 "1 키를 가져옵니다."를 참조한다

~/Library/Keychains/login.keychain 다른 키 체인으로 가져 오려면 이것을 변경하십시오. ( - 키 체인 목록 키 체인에 액세스)로 이동하여 각 키 체인의 수명을 볼 수 있습니다.

  1. 키 체인 열기 "가져온 공개 키"라는 공개 키를 찾아서 찾습니다. 그것을 두 번 클릭하고 원래 개인 키와 동일한 이름으로 변경하십시오.
  2. exported.p12public.pem을 삭제하십시오.

할 수 있습니다 이제 마우스 오른쪽 단추로 클릭 CSR을 생성하는 "키의 이름"으로 인증 기관에서 인증서를 원래의 개인 키와 요청을 선택합니다.

설명

[1] 분류이 명령 :

openssl req -new # Generate a new certificate signing request 
    -key   # Instead of generating a key, use an existing one 
    <(    # Put the output of the following command in a temporary file 
        # (a Bash feature, not specific to OpenSSL) 
    openssl pkcs12 -in ~/exported.p12 # Read keys from the specified PKCS12 file 
    -nocerts   # Don't output the certificate contained in the file 
    -nodes   # Output the private key from the file 
    -passin pass:"" # The password for the container is blank 
) 
> new.certSigningRequest # Write the generated CSR to a file 

[2] 나누어 두 번째 명령 :

openssl pkcs12 -in ~/exported.p12 # Read keys from the specified PKCS12 file 
    -nocerts -nodes     # Output only the private key, no certificates 
| openssl rsa -pubout    # Compute the public key from a private key 
> public.pem      # Write the public key to a file 

+0

좋은 답변입니다. 많은 세부 사항과 설명. 내가 필요한 것. – Glenn

+0

5 단계에서 문제가 발생했습니다. 사용자 정의 키 체인에서 가져온 공개 키의 이름을 바꿀 수 없습니다. 세션 키 체인으로 이동하고 이름을 변경 한 다음 다시 이동해야했습니다. – Julien

관련 문제