2013-05-30 2 views
20

iOS/OSX 개발을 위해 키 쌍 + 서명 인증서를 만들었습니다. 어딘가에도 내 개인 키와 함께 공개 키를 잃어 버렸습니다. 키 체인 접근은 개인 키와 공개 키를 함께 그룹화하지 않기 때문에 (인증서와 개인 키를 사용하는 것과 같이 매우 자극적입니다!)내 공개 키를 분실했습니다. 개인 키에서 복구 할 수 있습니까?

키 체인 접근에서 나는 여전히 개인 키를 오른쪽 클릭 -> "인증서 요청"; 공개 키를 사용할 수 없으면 "지정된 항목을 키 체인에서 찾을 수 없습니다"라는 오류 메시지가 나타납니다. 나는 입니다. 꽤 공개 키를 복구 할 수 있지만 그 방법은 무엇입니까? Keychain Access는 자동으로 수행하기에 현명하지 않습니다.

나는 결국 이것을 알아 냈고 누군가가 대답에 새로운 것을 추가하지 않으면 며칠 후 나의 대답을 정확하게 표시 할 것입니다.

답변

54

.pem 파일에 대해 openssl을 사용하여이를 막연하게 기억하므로 그 방향을 향하고 있습니다. 키 체인 접근에서

  • 는, 예를 들어 private.p12와 개인 키를 내 보냅니다. 암호를 적용할지 여부를 지정합니다.
  • .pem : openssl pkcs12 -in private.p12 -out private.pem으로 변환하십시오. 이전 단계에서 암호를 입력하십시오. 암호를 .pem에 적용해야합니다.
  • 공개 부분을 추출하십시오 : openssl rsa -in private.pem -pubout > public.pem. 이전 단계에서 암호를 입력하십시오.
  • 키 체인으로 가져 오기 액세스 : security import public.pem -k login.keychain. 키 체인을 지정하지 않으면 가져 오기가 완료된 것처럼 보이지만 항목을 넣은 위치를 찾을 수 없습니다.
  • 키 체인 접근에서, 로그인 키 체인에서 "가져온 공개 키"를보십시오. 이름을 변경하고 원하는 위치로 이동하십시오.
  • 특히 비밀번호 나 비밀번호가없는 .p12 및 .pem 개인 키를 직접 정리하십시오.
+3

private.pem에 인증서가 포함되어있어 3 단계가 실패했습니다. 그것은 2 단계를 변경 한 후 작동합니다 : openssl pkcs12 -in private.p12 -nocerts -nodes -out private.pem – jlukanta

+3

인증서를 포함하지 않고 개인 키를 내보내려면 '모든 항목'범주에서 개인 키를 내 보내야합니다 . 키 체인의 '키'카테고리에서 키를 내 보내지 마십시오. 개인 키에 해당하는 인증서는 선택하지 않은 경우에도 포함됩니다. – jlukanta

+0

키 체인 항목의 이름을 어떻게 바꿉니 까? – lhunath

관련 문제