공동 디자인 오류 : 인증서 ID가 두 번 표시됨


103

CodeSign 오류 : 인증서 ID 'iPhone 개발자 : XXXX (12345678)'이 키 체인에 두 번 이상 나타납니다. codesign 도구에는 하나만 필요합니다.

그래서 내 키 체인으로 이동하여 삭제합니다. 하지만 Xcode 4를 다시 시작할 때마다이 오류가 발생하고 일부 앱은 만료 된 이전 인증서를 키 체인에 다시 추가합니다. 이유와 앱에 대한 아이디어가 있습니까?


답변:


99

나는 단지 같은 문제가 있었다. 수정되었습니다. 앱을 제출하고 앱에 서명하기 위해 몇 가지 인증서를 설치 한 후 발생했습니다.

빠른 수정 : KEYCHAIN ​​ACCESS를 열고> MY CERTIFICATES>를 클릭하면 iPhone 개발자 :. 아마도 두 번 보게 될 것입니다! 만료일이 가장 빠른 것을 선택하고 마우스 오른쪽 버튼을 클릭 한 다음 삭제를 선택합니다.

그렇지 않은 경우 Xcode를 다시 시작하십시오. 지금 작동합니다. :)

해피 코딩.


27
한 걸음 더! 중복 인증서를 삭제 한 후 XCode에서 Organizer를 열고 프로비저닝 프로파일을 새로 고쳐야합니다.
Meekohi

@Meekohi 내 프로비저닝 프로필을 '새로 고침'한다는 것은 무엇을 의미합니까? 감사!
abw333 2012 년

7
Xcode를 다시 시작하면 이전 인증서를 삭제 한 후 동일한 문제가 해결되었습니다.
Maxim Mikheev

Xcode 4 (4.4.1이 있음)에서는 이전 인증서와 관련된 모든 프로비저닝 프로필을 삭제해야했습니다. 그런 다음 Xcode를 다시 시작하고 이전 인증서가 키 체인에 표시되는 것을 (마법처럼) 중지했습니다.
Roberto

3
하나의 추가로 나를 위해 일했습니다 (Xcode 4.6.3을 사용하고 있습니다). 만료 된 (또는 곧 만료되는) 인증서를 삭제 한 다음 Xcode를 다시 시작했지만 여전히 문제가있었습니다. 이전 인증서가 어떻게 든 KeyChain Access에 다시 나타났습니다. 그래서 Xcode를 다시 시작했지만 열 프로젝트를 선택하기 전에 KeyChain Access로 돌아가서 이전 인증서가 다시 거기에 있었기 때문에 삭제했습니다. 그런 다음 (이미 실행중인 Xcode에서) 내 projet을 열었을 때 모든 것이 잘되었습니다. 다시 빌드 할 수있었습니다.
Ed Sinek 2013-06-16

71

간단한 삭제가 작동하지 않는 이유를 알아 낸 것 같습니다. 개발자 인증서는 여전히 프로비저닝 프로파일에 저장되어 있기 때문에 키 체인에서 인증서를 삭제 한 후 Xcode를 닫았다가 다시 열면 이전 인증서가 돌아 오는 것을 보았습니다. 그래서 다시 삭제합니다. 효과가있었습니다.

간단한 프로필 삭제 솔루션이 작동하지 않았습니다.

내 경우에 효과가 있었던 솔루션 :

  1. Xcode 종료
  2. 키 체인 접근이 열려 있으면 열어 둡니다.
  3. 지금 Xcode를 시작하십시오.
  4. Xcode가 불평했던 인증서가 캐시에서 시작될 때 키 체인에 다시 추가되는지 확인하십시오.
  5. 계속해서 삭제하십시오.
  6. 컴파일하고 행복한 코딩.

3
나는 위의 모든 솔루션을 시도했고 이것이 트릭을 수행했습니다. 여러 원인 / 해결 방법이있는 것 같습니다.
Nathan Hangen 2012

+1 : XCode가 실제로 인증서의 "캐시"를 유지하고 출시시 추가한다는 것을 확인할 수 있습니다. 이런 방식으로 작동하는 것은 끔찍합니다! 너무 많은 문제가 발생합니다! 부끄러운 Apple, 이것은 이것과의 싸움으로 인해 시간을 낭비했습니다!
JRG- 개발자 2013

10

나는이 문제로 고군분투하는 데 상당한 시간을 보냈다. 그것을 고치려는 모든 시도 끝에 마침내 Xcode의 버그라는 것을 깨달았습니다. 이 게시물을 통해 문제를 해결할 수있는 단서를 얻었습니다. 인증서가 키 체인에 마법처럼 다시 나타납니다.

제 경우에는 일치하는 개인 키가 시스템 키 체인에 있었고 내 이름이있었습니다 (프로비저닝을위한 것이라고 말하기 어렵습니다). 나는 :

  • 연결된 개인 키를 '로그인'키 체인으로 이동
  • Xcode를 다시 시작하고 개인 키가 이제 연결된 것으로 표시되고 있음을 확인했습니다 (무엇인지 확인).
  • 인증서 및 개인 키 삭제
  • Xcode를 다시 시작하고 휙! 내 이전 인증서 추가가 중지되었습니다.

흥미로운 점은 인증서를 삭제해도 관련 개인 키가 삭제되지 않는다는 것입니다. 시각적으로 인증서 아래에 개인 키가 표시됩니다. 속지 마십시오.

행운을 빕니다!


개인 키를 삭제하는 것도 저에게 효과적이었습니다-최신 xcode 2012 년 10 월 업데이트 Mountain Lion
ina



3

xcode45-DP1과 동일한 문제가 있습니다. 이것은 나를 위해 작동합니다.

  1. 키 체인에서 계정과 관련된 모든 인증서를 제거하십시오. QUIT 키 체인

  2. xcode : organizer : device : Library : provisioning profiles에서 계정과 관련된 모든 프로비저닝 프로파일을 제거하십시오. xcode 종료

  3. 인증서를 취소하고 다시 생성하여 빌드 머신에 다운로드합니다.

  4. 프로비저닝 프로파일을 다운로드하기 전에 다운로드 버튼 옆에있는 편집을 클릭 하여 이름이 선택되었는지 확인하십시오.

  5. 그런 다음 프로비저닝 프로파일을 다운로드하십시오.

  6. 인증서를 두 번 클릭하여 키 체인에 설치하십시오.

  7. 프로비저닝 프로파일을 xcode : organizer : device : Library : provisioning profiles로 드래그하십시오.

  8. xcode에서 새로 고침 버튼을 클릭하지 마십시오.

  9. 빌드하십시오.


3

답변은 여기

Organizer와 함께 이전 인증서를 사용하여 이전 프로비저닝 프로파일을 모두 제거한 다음 XCode를 종료하고 키 체인에서 이전 인증서를 제거한 다음 XCode를 다시 시작하십시오.

프로비저닝 프로파일에에 대한 참조가있을 때 xcode가 인증서를 유지하는 것처럼 보입니다.


1

좀비 인증서가 내 키 체인에 다시 채워지고 인증서 ID가 두 번 나타나는 데 문제가있었습니다. 중복 인증서를 삭제하는 것만으로는 효과가 없습니다.

Xcode에서 타겟의 코드 서명을 살펴보면 "Release"빌드와 "Ad Hoc"빌드에 다른 배포 프로필이 있다는 것을 기억했습니다.

새 인증서를 생성 할 때 릴리스 빌드가 아닌 Ad Hoc 빌드 용 새 프로필 만 다운로드했습니다.

Xcode는 두 프로필 모두에 대한 인증서에 걸려 있었고 Xcode는 중복 인증서를 발생 시켰습니다. 프로필을 제대로 업데이트하는 것을 잊었 기 때문입니다.

모든 프로비저닝 프로파일을 새 인증서로 업데이트하고 Xcode에서 모든 프로파일을 동시에 변경하십시오.

새 인증서로 모든 프로비저닝 프로파일을 업데이트하십시오. 그렇지 않으면 Xcode가 두 프로파일의 인증서를 키 체인에 넣으려고 시도합니다 ... 중복 오류가 발생합니다!


1

나는이 문제가 있었고 그것에 대한 모든 정보를 읽었으며 마침내 해결책을 찾았습니다. 무엇 언급에 실패한 사람들은 즉 전에 엑스 코드 주최자와의 청소 인증서 전에 당신이 어떤 만료 된 인증서가없는 것을 확인해야 키 체인에 만료 된 키 청소 프로비저닝 포털 . 이전 개발자 인증서를 사용한 이전 앱에 대해 만료 된 인증서가 하나라도있는 경우 Xcode는 첫 번째 빌드에서 해당 인증서를 주최자로 가져 와서 여기에서 키 체인으로 이동하여 중복을 발생시킵니다.


1

제 경우에는 Xcode가보고 있던 "캐시"가 연결된 iOS 장치였습니다. 이것이 문제인지 확인하려면 :

  1. 모든 iOS 기기 연결 해제
  2. 키 체인 접근에서 문제가되는 인증서 및 개인 키 삭제
  3. Xcode 다시 시작
  4. 키 체인 액세스 확인 : 제 경우에는이 시점에서 복제본이 다시 생성되지 않았습니다.
  5. iOS 기기 다시 연결
  6. Xcode를 다시 시작하십시오.
  7. 키 체인 액세스 확인 : 제 경우에는이 시점에서 복제본이 다시 생성되었습니다.

이것이 근본 원인 인 경우 Xcode를 시작하기 전에 iOS 기기의 연결을 해제하여 해결할 수 있습니다.


0

중복 인증서를 삭제하는 것만으로 는 효과가 없었습니다. xcodebuild가 호출 될 때마다 캐시 어딘가에서 키 체인의 인증서를 "다시 생성"하는 것 같습니다. avi 와 동일한 문제로 해킹 / 수정을 만들었고 파일이 캐시되는 위치를 찾으려고했습니다. 정리했지만 운이 없었습니다. 결국 나를 위해 일한 것은 (약간 해킹이지만 다른 작업은 할 수 있음) 인증서 번호가 무엇인지 파악하고 xcodebuild가 호출 된 직후 키 체인에서 수동으로 제거하는 것이 었습니다. 먼저 / usr / bin / 디렉터리 (또는 xcodebuild 파일이있는 디렉터리에 시도 which xcodebuild)로 이동하여 다음 명령을 실행합니다.

sudo mv xcodebuild xcodebuild_actual

그런 다음 좋아하는 편집기를 사용하여 다음 코드로 파일을 만듭니다 (sudo를 잊지 마세요).

xcodebuild_actual $* &
echo "xcodebuild started, waiting to wipe certificate, 10 seconds"
sleep 2
echo "Wiping Certificate..."
sudo security -v delete-certificate -t -Z 407629F811D52C0BB7AD31BBB18DCB496354B05E

참고 : 비밀번호를 입력하지 않고도이 특정 명령을 실행하기 위해 액세스 할 수 있도록 sudoers 파일을 수정해야합니다.

위의 -Z 뒤에있는 16 진수 ID를 문제가있는 좀비 인증서의 16 진수 ID로 바꿉니다. 마지막으로 xcodebuild 파일이 실행 가능한지 확인하십시오.

sudo chmod 755 xcodebuild 

이제 키 체인을 열고 빌드 명령을 실행하고 문제가되는 좀비 인증서가 어떻게 부활하는지 확인한 다음 코드 서명에 문제가되기 전에 간단히 샷건을 수행 할 수 있습니다. 바라건대 Apple이 이에 대한 실질적인 해결책을 제시 할 것입니다.


0

제 경우에는 인증서 삭제가 작동하지 않았습니다. XCode 4는 캐시하거나 복원하는 것 같습니다. 마침내 나를 위해 일한 트릭은 키 체인과 xcode를 실행하는 것이 었습니다. 그런 다음 키 체인에서 2 개의 인증서 (dev + dist)를 '로그인'에서 '시스템'으로 드래그합니다. 그런 다음 중복이 마술처럼 다시 나타나고 삭제할 수 있었고 인증서를 다시 '로그인'으로 끌어 올렸습니다.


0

매우 쉽습니다. 올바른 인증서를 데스크탑으로 내보내십시오. 키 체인에서 해당 인증서를 삭제하십시오. 오류 메시지 (인증서 없음)와 함께 소스 빌드를 시도한 다음 인증서를 다시 가져옵니다. => 성공!


0

더 이상 필요하지 않은 인증서를 위해 키 체인에서 개인 키 중 하나를 삭제했습니다.

인증서는 다시 적용되지만 개인 키는 다시 나타나지 않습니다. 이제 유효한 인증서를 확인하면 하나의 인증서 만 표시되고 개인 키가 삭제 된 다른 인증서는 더 이상 유효한 인증서 아래에 표시되지 않습니다.

이것이이 문제를 해결하는 가장 간단한 방법이라고 생각합니다.


0

나는 한 번 같은 문제를 다루고 있었다. 그리고 xcode의 Organizer 탭에서 사용하지 않는 프로비저닝 프로파일을 제거하여 문제를 해결했습니다. 실제로 키 체인은 만료 된 인증서 또는 해지 된 인증서에 의한 빌드 인이 프로비저닝 프로파일에서 해당 인증서를 가져옵니다.

따라서 오거나이저 탭에서이 프로비저닝 프로파일을 삭제하기 만하면됩니다. Organizer는 xcode의 오른쪽 상단 버튼에 있으며 Organizer에서 사용하지 않는 프로비저닝 프로파일을 제거하십시오.

다음은 스크린 샷입니다.

여기에 이미지 설명 입력

키 체인에서 추가 인증서를 제거하는 것을 잊지 마십시오. 그 후에는 해당 인증서가 다시 나타나지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.