Developer ID Certification Authority, 2027년 2월 1일 만료
Apple은 2026년 10월 1일, 원래의 Developer ID Certification Authority가 2027년 2월 1일에 만료되며 이 기관이 발급한 인증서로 서명된 설치 패키지는 그날부터 “will no longer install”(더 이상 설치되지 않는다)이라고 발표했습니다. 공증된 앱은 예외입니다. “Previously signed and notarized Mac software (with a secure timestamp) will keep working.”(이미 서명과 공증을 마친 Mac 소프트웨어는 보안 타임스탬프가 있으면 계속 작동한다)1 후속 인증 기관인 G2는 2022년 1월 27일부터 인증서를 발급해 왔지만, Apple은 구버전 Xcode를 쓰는 팀을 위해 원래 기관도 계속 제공했습니다. 그래서 한 팀이 두 기관의 인증서를 하나씩 가지고 있을 수 있습니다.23 Apple이 제시하는 판별 기준은 만료일이 아니라 인증서 발급자 이름에 들어 있는 Organizational Unit(조직 단위)입니다.
아래에서는 키체인, 패키지, 앱에서 이 값을 읽어 내는 명령을 소개합니다. 이어서 제 Mac에 있는 Developer ID 앱 66개와 설치 프로그램 4개에서 이 명령들이 출력한 결과를 보여 드립니다. 이 중 앱 49개와 설치 프로그램 4개 전부가 만료될 기관에 연결되어 있습니다. 또한 Apple 공지 가운데 제가 확인할 수 있는 인증서와 맞지 않는 문장 하나, 그리고 제가 다시 서명한다면 어떤 순서로 할지도 다룹니다.4
TL;DR
- 날짜. 원래 기관의 인증서는 2027년 2월 1일 22:12:15 UTC에 끝납니다. 시작 시점으로부터 정확히 15년, 초 단위까지 같습니다. Apple의 문구는 “Certificates issued by this authority will stop working on that date.”(이 기관이 발급한 인증서는 그날 작동을 멈춘다)입니다.14
- 멈추는 것은 패키지이며, 공증된 앱은 멈추지 않습니다. “.pkg files signed with an affected certificate will no longer install”(영향받는 인증서로 서명된 .pkg 파일은 더 이상 설치되지 않는다)인 반면, 보안 타임스탬프가 있는 공증된 소프트웨어는 “will keep working”(계속 작동한다)입니다.1
- 발급자를 읽으세요. 발급자의 Organizational Unit은 원래 기관이 발급한 인증서에서는 “Apple Certification Authority”, 현재 기관이 발급한 인증서에서는 “G2”입니다. Apple은 만료일이 “doesn’t prove which authority issued a certificate”(어느 기관이 인증서를 발급했는지 증명하지 못한다)라고 말합니다.2
- Mac 한 대의 표본. 제 다운로드 폴더에 있는 Developer ID 서명 설치 프로그램 4개는 모두 원래 기관에 연결되며, 가장 최근 것은 2025년 12월 29일에 서명되었습니다. 응용 프로그램 폴더의 Developer ID 앱 66개 중 49개는 원래 기관에, 17개는 G2에 연결됩니다.4
- 지금까지는 인증서가 만료되어도 타임스탬프가 있는 소프트웨어는 멈추지 않았습니다. 원래 기관에 연결되는 앱 49개 가운데 6개는 2022년부터 2026년 5월 사이에 만료된 인증서로, 설치 프로그램 하나는 2017년에 만료된 인증서로 서명되어 있습니다. Gatekeeper는 현재 이 7개를 모두 받아들입니다. Apple 공지에 따르면 패키지의 경우 기관 자체의 만료로 이런 처리가 끝납니다.14
- 어긋나는 점 하나. Apple은 G2 인증서가 “expire annually”(매년 만료된다)라고 합니다. 그런데 제 설치된 앱에 있는 G2 인증서 12개 전부와 2026년 5월에 받은 제 인증서는 유효 기간이 5년입니다. 1년 기간이 언제부터 적용되었는지는 두 페이지 모두 밝히지 않습니다.124
Apple은 무엇을 발표했습니까?
공지는 짧습니다. 첫머리는 이렇습니다. “The original Developer ID Certification Authority (Sub-CA) expires on February 1, 2027. Certificates issued by this authority will stop working on that date.”(원래의 Developer ID Certification Authority(Sub-CA)는 2027년 2월 1일에 만료된다. 이 기관이 발급한 인증서는 그날 작동을 멈춘다)1 그 뒤로 세 단계가 이어집니다. 영향을 받는지 확인하고, 새 인증서를 만들고, 다시 서명하는 것입니다. 세 번째 단계는 무엇을 배포하느냐에 따라 달라집니다.
- 설치 패키지. “Starting February 1, 2027, .pkg files signed with an affected certificate will no longer install. Re-sign all packages with your new certificate before this date.”(2027년 2월 1일부터 영향받는 인증서로 서명된 .pkg 파일은 더 이상 설치되지 않는다. 이 날짜 전에 모든 패키지를 새 인증서로 다시 서명하라)
- Mac 앱. “Previously signed and notarized Mac software (with a secure timestamp) will keep working”(이미 서명과 공증을 마친 Mac 소프트웨어는 보안 타임스탬프가 있으면 계속 작동한다)이므로 따로 조치할 필요가 없고, “For future updates, sign with your new certificate and include a secure timestamp for notarization.”(앞으로의 업데이트는 새 인증서로 서명하고, 공증을 위해 보안 타임스탬프를 포함하라)입니다.1
공지가 링크한 도움말 페이지는 서명에 미치는 영향을 이렇게 설명합니다. “After that date, certificates issued from the original authority can no longer be used for signing and must be replaced with certificates from the current Developer ID Certification Authority (G2).”(그 날짜 이후 원래 기관에서 발급된 인증서는 서명에 더 이상 쓸 수 없으며, 현재의 Developer ID Certification Authority(G2) 인증서로 교체해야 한다) 또한 “Required role: Account Holder.”(필요한 역할: Account Holder)라고 명시합니다.2
앱과 패키지를 나누는 방식은 만료된 인증서에 관한 Apple의 기존 안내와 비슷합니다. 앱에 대해 Apple의 Developer ID 도움말 페이지는 이렇게 말합니다. “As long as your Developer ID certificate was valid when you compiled your app, then users can download and run your app, even after the expiration date of the certificate.”(앱을 컴파일할 때 Developer ID 인증서가 유효했다면, 인증서 만료일이 지난 뒤에도 사용자는 앱을 다운로드하고 실행할 수 있다) 설치 프로그램에 대해서는 Apple의 페이지끼리, 심지어 한 페이지 안에서도 내용이 엇갈립니다. 같은 도움말 페이지에는 “Your installer package will only launch if your Developer ID Installer certificate is valid.”(Developer ID Installer 인증서가 유효할 때만 설치 패키지가 실행된다)라고 되어 있습니다. 인증서 개요 페이지의 Developer ID Installer 항목은 양쪽으로 갈립니다. 사용자는 “can still install packages that were signed with this certificate as long as the package includes a trusted timestamp”(패키지에 신뢰할 수 있는 타임스탬프가 있으면 이 인증서로 서명된 패키지를 여전히 설치할 수 있다)라고 하면서, 두 문장 뒤에서는 “new installations won’t be possible until you have re-signed your installer package with a valid Developer ID Installer certificate”(유효한 Developer ID Installer 인증서로 설치 패키지를 다시 서명할 때까지 새로 설치할 수 없다)라고 합니다.5 10월 1일 공지는 패키지에 타임스탬프 예외를 두지 않습니다.
공지는 설치에 대해서만 이야기합니다. 영향받는 패키지로 이미 설치된 소프트웨어가 어떻게 되는지는 말하지 않습니다. 기기 관리로 배포되는 설치나 installer 명령으로 실행하는 설치가 사용자가 직접 여는 패키지와 같은 방식으로 처리되는지도 말하지 않습니다. 서명된 디스크 이미지도 언급하지 않습니다. 첫 번째 점에 대해서는, 개요 페이지에서 만료된 설치 프로그램 인증서를 다루는 항목이 “Previously installed apps will continue to run.”(이전에 설치된 앱은 계속 실행된다)이라고 말합니다.15
왜 인증 기관이 두 개입니까?
인증서는 자신을 발급한 기관보다 오래 유효할 수 없습니다. Apple의 2022년 지원 페이지는 이를 규칙으로 적어 둡니다. “Certificates cannot be issued with a validity period that extends past the intermediate certificate’s expiration date.”(중간 인증서의 만료일을 넘어서는 유효 기간으로 인증서를 발급할 수 없다)3 제가 찾을 수 있는 2022년 이전의 Developer ID 인증서는 모두 유효 기간이 5년입니다. 따라서 2022년 2월부터는 남은 기간이 5년인 원래 기관이 5년 만기 인증서를 더 이상 발급할 수 없었습니다. Apple의 해법은 두 번째 기관이었습니다. “Starting January 27, 2022, the digital certificates you use to sign your software and installer packages on macOS will be issued from the new Developer ID intermediate certificate that expires on September 16, 2031.”(2022년 1월 27일부터 macOS에서 소프트웨어와 설치 패키지 서명에 쓰는 디지털 인증서는 2031년 9월 16일에 만료되는 새 Developer ID 중간 인증서에서 발급된다) (인증서 자체는 2031년 9월 17일 00:00:00 GMT에 끝나는데, 태평양 시간으로는 아직 9월 16일입니다.)34
원래 기관도 계속 제공되었습니다. Apple은 “running Xcode 11.4 or earlier”(Xcode 11.4 이하를 쓰는) 팀을 위해 이렇게 썼습니다. “the Apple Developer website will continue to offer Developer ID certificates associated with the original intermediate certificate. Newly issued certificates from this intermediate certificate will be valid for less than five years”(Apple Developer 웹사이트는 원래 중간 인증서에 연결된 Developer ID 인증서를 계속 제공한다. 이 중간 인증서에서 새로 발급되는 인증서는 유효 기간이 5년 미만이다) 이 선택지는 “will be available for at least one year, starting January 27, 2022”(2022년 1월 27일부터 최소 1년간 제공된다)였습니다.3
제 Mac에 있는 인증서들은 이 역사의 양면을 모두 보여 줍니다. 원래 기관에 연결된 앱 49개는 서로 다른 서명 인증서 27개를 사용합니다. 2022년 2월 이전에 발급된 5개는 각각 유효 기간이 5년입니다. 2022년 2월 8일 이후에 발급된 22개는 모두 같은 초, 즉 2027년 2월 1일 22:12:15 UTC에 끝납니다. 이는 원래 기관 자체의 마지막 1초이며, 22개 중 가장 최근 것은 2026년 1월 15일에 발급되었습니다. 원래 기관은 G2가 등장하고 거의 4년이 지나서도 인증서를 발급하고 있었고, 그 인증서들은 발급될 때마다 직전 것보다 짧아졌습니다.4
내 인증서를 어느 기관이 발급했는지 어떻게 구분합니까?
Apple의 도움말 페이지는 개발자 포털에서 시작합니다. “Any certificates expiring on or before February 1, 2027, are likely affected. However, the expiration date alone doesn’t prove which authority issued a certificate.”(2027년 2월 1일 또는 그 이전에 만료되는 인증서는 영향을 받을 가능성이 높다. 그러나 만료일만으로는 어느 기관이 인증서를 발급했는지 증명할 수 없다) 그 이유는 이렇습니다. “A team can hold a certificate from each authority with identical names, such as the same Developer ID Installer entry twice, differing only in expiration date.”(한 팀이 두 기관에서 이름이 똑같은 인증서를 하나씩 가질 수 있다. 예를 들어 만료일만 다른 같은 Developer ID Installer 항목이 두 번 나타난다) Apple의 판별 방법은 Keychain Access에서 진행합니다. 인증서를 선택하고 “expand the Issuer Name field, and review the Organizational Unit field”(발급자 이름 필드를 펼치고 Organizational Unit 필드를 확인하라)입니다. “Apple Certification Authority”는 “The certificate was issued from the previous Sub-CA. Replace this certificate.”(이 인증서는 이전 Sub-CA에서 발급되었다. 이 인증서를 교체하라)라는 뜻이고, “G2”는 “The certificate was issued from the current Sub-CA. No action needed.”(이 인증서는 현재 Sub-CA에서 발급되었다. 조치가 필요 없다)라는 뜻입니다. 페이지에는 경고도 붙어 있습니다. “Check your own certificate, not the Developer ID Certification Authority entry in your keychain. That entry is the authority itself, and it’s issued by Apple Root CA, whose Organizational Unit is also Apple Certification Authority.”(키체인의 Developer ID Certification Authority 항목이 아니라 자신의 인증서를 확인하라. 그 항목은 기관 자체이며 Apple Root CA가 발급했는데, Apple Root CA의 Organizational Unit 역시 Apple Certification Authority이다)2
같은 판별을 터미널에서도 세 군데에 대해 할 수 있습니다.
키체인에 있는 인증서.
security find-certificate -a -c "Developer ID Installer" -p \
| openssl crl2pkcs7 -nocrl -certfile /dev/stdin \
| openssl pkcs7 -print_certs -noout
-a 플래그는 일치하는 항목을 모두 반환합니다. Apple이 경고한 동일 이름 문제 때문에 이 점이 중요합니다. 이 파이프라인은 인증서마다 subject 줄과 issuer 줄을 출력합니다. 앱 서명용 인증서를 보려면 “Developer ID Application”으로 바꾸세요. 제 Mac에는 Developer ID Application 인증서가 하나 있고 Installer 인증서는 없습니다. 시스템의 /usr/bin/openssl로 읽으면 issuer 줄은 issuer=/CN=Developer ID Certification Authority/OU=G2/O=Apple Inc./C=US입니다. Homebrew의 OpenSSL 3는 같은 필드를 쉼표로 구분해 출력합니다. 일치하는 이름이 없으면 아무것도 출력되지 않습니다.4
배포한 패키지.
pkgutil --check-signature YourProduct.pkg
출력에는 서명 상태, 공증 상태, 신뢰할 수 있는 타임스탬프, 인증서 체인이 나옵니다. 읽어야 할 날짜는 두 번째 항목인 “Developer ID Certification Authority” 아래에 있는 날짜입니다. 제 설치 프로그램 4개에서는 모두 Expires: 2027-02-01 22:12:15 +0000였습니다. G2 자체의 인증서는 2031년 9월 17일(GMT)에 끝나므로, G2 아래에서 서명된 패키지라면 그 자리에 이 날짜가 나와야 합니다. 다만 저에게는 G2로 서명된 패키지가 없어 직접 확인하지는 못했습니다.4
앱. codesign -dvv만으로는 부족합니다. 두 기관이 같은 일반 이름(Common Name)을 쓰기 때문에 Authority= 줄이 어느 쪽이든 똑같이 나오기 때문입니다. 체인을 추출해서 중간 인증서를 읽으세요.
codesign -d --extract-certificates=/tmp/chain. YourApp.app
openssl x509 -inform DER -in /tmp/chain.1 -noout -subject -enddate
제 응용 프로그램 폴더에 있는 G2 서명 앱에서는 두 번째 명령이 subject에 OU=G2를, 그리고 notAfter=Sep 17 00:00:00 2031 GMT를 출력합니다. 원래 기관 아래에서 서명된 앱에서는 OU=Apple Certification Authority와 notAfter=Feb 1 22:12:15 2027 GMT를 출력합니다.4
Mac 한 대의 소프트웨어는 무엇을 보여 줍니까?
설치 프로그램. 제 다운로드 폴더에는 두 업체에서 받은, Developer ID로 서명된 패키지 4개가 있으며 4개 모두 원래 기관에 연결됩니다. 3개는 한 업체의 것으로, 2025년 9월 28일, 12월 14일, 12월 29일에 서명되었습니다. 사용된 설치 프로그램 인증서는 2022년 4월 13일에 발급되어 2027년 2월 1일에 끝납니다. 이 업체는 9개월 전까지도 원래 기관 아래에서 패키지에 서명하고 있었던 셈입니다. 네 번째 패키지는 2014년 2월에, 2017년 3월 29일에 만료된 인증서로 서명되었습니다.4
Gatekeeper의 설치 평가인 spctl -a -t install -vv는 현재 4개 모두를 “Notarized Developer ID”로 받아들입니다. 서명 인증서가 9년 전에 만료된 패키지도 포함해서입니다. 이 결과는 인증서 개요 페이지의 설치 프로그램 항목에 있는 신뢰할 수 있는 타임스탬프 문장과는 맞지만, 같은 항목의 “new installations won’t be possible”(새로 설치할 수 없다) 문장이나 Developer ID 도움말 페이지와는 맞지 않습니다. 그리고 이것이 바로 Apple 공지가 패키지에 대해 2월 1일에 끝난다고 말하는 동작입니다. 10월에 2월을 시험해 볼 수는 없으므로, 그날 무슨 일이 일어날지는 제 관찰이 아니라 Apple의 진술입니다.145
앱. 제 응용 프로그램 폴더에서 Developer ID로 서명된 앱 66개 중 49개는 원래 기관에, 17개는 G2에 연결됩니다. 66개 서명 모두에 보안 타임스탬프가 있습니다. Gatekeeper는 63개를 “Notarized Developer ID”로 보고하는데, 이는 Apple이 계속 작동한다고 말하는 조합입니다. 원래 기관 아래 49개 중 46개, 그리고 G2 아래 17개 전부입니다. 나머지 3개는 모두 원래 기관 아래에 있으며, 그중 2개는 번들 내용에 관한 오류인 “a sealed resource is missing or invalid”로 평가에 실패하고, 2018년 7월에 서명된 1개는 공증 없이 Developer ID로 받아들여집니다. Apple의 문장은 공증된 소프트웨어를 다루며, 공지는 마지막 앱 같은 경우가 어떻게 되는지 말하지 않습니다.14
원래 기관 아래 49개 중 6개는 2026년 10월 1일 시점에 이미 만료된 인증서로 서명되어 있습니다. 가장 이른 것은 2022년 8월, 가장 늦은 것은 2026년 5월에 만료되었습니다. Gatekeeper는 6개 모두를 받아들이며, 그중 5개는 공증된 것으로 받아들입니다. 서명 시점에 유효한 인증서면 충분하다는 Apple의 앱 규칙은 제가 쓰는 소프트웨어에서 이미 작동하고 있습니다.45
공지의 어느 문장이 맞지 않습니까?
공지는 G2에 대해 이렇게 말합니다. “This certificate authority is valid until 2031, but the certificates issued by the certificate authority expire annually and must be renewed each year.”(이 인증 기관은 2031년까지 유효하지만, 이 기관이 발급하는 인증서는 매년 만료되며 해마다 갱신해야 한다) 도움말 페이지도 같은 말을 합니다. “Certificates issued from G2 are valid for one year and must be renewed annually.”(G2에서 발급된 인증서는 1년간 유효하며 매년 갱신해야 한다)12
제가 확인할 수 있는 G2 인증서는 1년짜리가 아닙니다. 제 Mac에 있는 G2 서명 앱 17개는 서로 다른 서명 인증서 12개를 사용하며, 이 인증서들은 2023년 2월부터 2026년 5월 29일 사이에 발급되었고 모두 유효 기간이 5년입니다. 그중 3개는 2026년 4월과 5월에 발급되었습니다. 2026년 5월 10일에 발급된 제 Developer ID Application 인증서는 2031년 5월 11일에 끝납니다.4
1년 유효 기간이 언제 시작되었는지는 두 페이지 모두 밝히지 않습니다. 또 저는 공지 이후 인증서를 만들지 않았으므로, 오늘 발급되는 인증서가 어떤 기간으로 나오는지 말할 수 없습니다. 매년 갱신한다고 가정하고 계획하되, 실제로 발급받은 인증서의 날짜를 읽으세요. 앞으로 1년짜리 인증서가 원칙이 된다면, 만료된 설치 프로그램 인증서를 두고 Apple 페이지들 사이에서, 그리고 개요 페이지의 한 항목 안에서 엇갈리는 내용이 더 중요해집니다. 신뢰할 수 있는 타임스탬프 문장이 맞다면 패키지는 인증서보다 오래 살아남고, 다른 문장들이 맞다면 그렇지 않습니다. 제가 가진 데이터는 위에서 언급한 2014년 패키지 하나뿐이며, Gatekeeper는 지금도 이 패키지를 받아들입니다. 이 문장들의 무게를 어떻게 따지느냐는 제 해석이지 Apple의 입장이 아닙니다.
저라면 어떤 순서로 하겠습니까?
- 목록 작성. 두 종류의 인증서 모두에 대해 키체인 검사를 실행하고, 지금도 다운로드로 제공하는 모든 패키지에 대해, 이전 버전까지 포함해
pkgutil --check-signature를 실행합니다. 패키지 검사는 다른 업체의 설치 프로그램에도 쓸 수 있으므로, 팀이 배포하는 설치 프로그램 가운데 업체에 다시 서명한 빌드를 요청해야 하는 것을 찾아낼 수 있습니다. - 교체. 발급자에 “Apple Certification Authority”가 보이면 G2 인증서를 만듭니다. 도움말 페이지의 단계에 따르면 “Developer ID Certificate Intermediary”(Developer ID 인증서 중간 기관)를 선택하라는 요청이 나올 때 “G2 Sub-CA (Xcode 11.4.1 or later)”를 선택해야 합니다. 그 이유는 “Any other option might issue a certificate from the expiring Certificate Authority”(다른 선택지는 만료될 인증 기관에서 인증서를 발급할 수 있다)이며, 공지도 “Choosing another option may issue a certificate that also expires in 2027.”(다른 선택지를 고르면 역시 2027년에 만료되는 인증서가 발급될 수 있다)이라고 경고합니다. 두 종류를 모두 가지고 있다면 “repeat these steps for each, since one certificate does not cover the other”(한 인증서가 다른 인증서를 대신하지 못하므로 각각에 대해 이 단계를 반복하라)입니다. 공지는 전제 조건도 덧붙입니다. “If you’re using Xcode 11.4 or earlier, update before creating your new certificate.”(Xcode 11.4 이하를 쓰고 있다면 새 인증서를 만들기 전에 업데이트하라)12
- 기존 인증서가 사라지기 전에 테스트. Apple의 설명입니다. “Because you can hold up to five Developer ID Application and five Developer ID Installer certificates at a time, you can create and test a replacement before your current certificate expires.”(Developer ID Application 인증서와 Developer ID Installer 인증서를 각각 최대 5개까지 동시에 보유할 수 있으므로, 현재 인증서가 만료되기 전에 대체 인증서를 만들어 테스트할 수 있다)2
- 패키지 재서명.
productsign매뉴얼에는 “If you run productsign on a product archive that was previously signed, the existing signature will be replaced”(이미 서명된 product archive에 productsign을 실행하면 기존 서명이 교체된다)라고 되어 있고, 신뢰할 수 있는 타임스탬프는 “is enabled by default when signing with a Developer ID identity”(Developer ID 식별자로 서명할 때 기본으로 켜져 있다)라고 되어 있습니다. 또한 이 도구는 “any intermediate certificates that are found in the keychain”(키체인에서 찾은 모든 중간 인증서)을 함께 넣으므로, G2 중간 인증서를 먼저 키체인에 넣어 두어야 할 것입니다(매뉴얼의--cert옵션은 중간 인증서를 일반 이름으로 지정하는데, 두 기관이 한 이름을 공유하므로 저라면 둘 중 하나를 고르는 데 이 옵션에 기대지 않겠습니다). Apple의 2022년 페이지에 따르면 Xcode 13.2 이상은 이 인증서를 자동으로 내려받고, 그렇지 않으면 “you can download it from the Certificate Authority page”(Certificate Authority 페이지에서 내려받을 수 있다)입니다. 위의 키체인 파이프라인을 “Developer ID Certification Authority”라는 이름으로 실행하면 그 Mac에 있는 기관 목록이 나옵니다. 제 Mac에는 둘 다 있었습니다. 그런 다음 결과물을 다시 공증하고 스테이플합니다. 공증 단계는 Apple의 문장이 아니라 제 해석입니다. 다시 서명한 패키지는 다른 파일이기 때문입니다. 저는 Developer ID Installer 인증서가 없어서 이 단계를 실행해 보지 않았습니다.34 - 결과 확인. 다시 서명한 파일에
pkgutil --check-signature를 실행하면 기관 아래에 2027년 날짜가 더 이상 나오지 않아야 하고,spctl -a -t install -vv는 여전히 “Notarized Developer ID”를 출력해야 합니다. - 앱 서명에 타임스탬프 유지. 보안 타임스탬프는 계속 작동하는 소프트웨어의 조건으로 Apple이 꼽는 속성이며, 앞으로에 대한 Apple의 지시도 “sign with your new certificate and include a secure timestamp for notarization”(새 인증서로 서명하고 공증을 위해 보안 타임스탬프를 포함하라)입니다.1
이번 기한은 이번 시즌 두 번째 설치 프로그램 관련 변경입니다. 첫 번째는 macOS 27 자체에 있습니다. 호스트 아키텍처를 지정하지 않은 패키지가 이제 arm64를 기본값으로 삼습니다. 어떤 패키지가 영향을 받는지는 Golden Gate 글에서 다루며, 어차피 설치 프로그램을 다시 서명하는 팀이라면 두 가지를 한 번에 확인할 수 있습니다. Mac 개발자를 위한 이번 릴리스의 나머지 내용은 macOS 27 릴리스 노트 글에 있습니다. 툴체인 쪽은 Xcode 27 글과 Intel 글에서, 이미 배포된 Mac 앱이 프롬프트 없이 읽기 시점에 실패하게 되는 변경은 팀 간 컨테이너 글에서, Mac 빌드를 멈추게 하는 두 가지 툴체인 변경은 ld64 글에서 다룹니다.
FAQ
Developer ID Certification Authority는 언제 만료됩니까?
2027년 2월 1일입니다. 원래 기관의 인증서는 그날 22:12:15 UTC에 끝납니다. 현재 기관인 G2는 2031년 9월에 끝납니다. Apple 지원 페이지는 9월 16일이라고 하지만, 인증서 자체에는 9월 17일 00:00:00 GMT로 적혀 있습니다.134
제 Developer ID 앱이 2027년 2월 1일에 실행되지 않게 됩니까?
공증을 받고 보안 타임스탬프와 함께 서명된 소프트웨어라면 Apple의 답은 ‘아니요’입니다. 그런 소프트웨어는 “will keep working”(계속 작동한다)이며, 따로 조치할 필요도 없습니다. 서명에 타임스탬프가 있으면 codesign -dvv YourApp.app이 Timestamp= 줄을 출력하고, 공증된 앱이면 spctl -a -t exec -vv YourApp.app이 “source=Notarized Developer ID”를 보고합니다.14
원래 기관 아래에서 서명된 .pkg 설치 프로그램은 어떻게 됩니까?
Apple의 설명입니다. “Starting February 1, 2027, .pkg files signed with an affected certificate will no longer install. Re-sign all packages with your new certificate before this date.”(2027년 2월 1일부터 영향받는 인증서로 서명된 .pkg 파일은 더 이상 설치되지 않는다. 이 날짜 전에 모든 패키지를 새 인증서로 다시 서명하라)1
패키지에 서명한 기관은 어떻게 확인합니까?
패키지에 pkgutil --check-signature를 실행하고 체인의 “Developer ID Certification Authority” 항목 아래에 있는 날짜를 읽습니다. Expires: 2027-02-01 22:12:15 +0000이면 원래 기관입니다.4
G2 인증서는 1년짜리입니까, 5년짜리입니까?
Apple의 공지와 도움말 페이지는 모두 1년이라고 합니다. 2026년 10월 1일에 제가 확인할 수 있었던 G2 인증서는 2026년 5월 29일에 발급된 가장 최근 것을 포함해 모두 유효 기간이 5년입니다. 1년 기간이 언제 시작되었는지는 두 페이지 모두 밝히지 않습니다.124
팀에서 누가 대체 인증서를 만들 수 있습니까?
도움말 페이지에는 “Required role: Account Holder.”(필요한 역할: Account Holder)라고 되어 있습니다.2
출처
-
Apple, “Upcoming expiration of Developer ID Certification Authority (Sub-CA),” 개발자 뉴스, 2026년 10월 1일, 인용. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩
-
Apple, “Replacing Developer ID certificates issued from the previous Sub-CA,” 개발자 계정 도움말, 2026년 10월 1일 확인: 첫 단락, “Find out if your certificates are affected”, “Create a replacement certificate” 인용. ↩↩↩↩↩↩↩↩↩↩
-
Apple, “Developer ID Intermediate Certificate Updates,” 2026년 10월 1일 확인, 인용. “Why was the Developer ID Intermediate Certificate updated if the previous version doesn’t expire until 2027?”에 대한 답변 포함. ↩↩↩↩↩↩
-
2026년 10월 1일, macOS 27.0(26A428)을 실행하는 Mac에서 진행한 저자 확인. 아무것도 설치하지 않았습니다. 인증 기관:
security find-certificate -a -c "Developer ID Certification Authority" -p를/usr/bin/openssl(LibreSSL 3.3.6)로 읽으면 원래 기관(OU=Apple Certification Authority)은 Feb 1 22:12:15 2012 GMT부터 Feb 1 22:12:15 2027 GMT까지, G2는 Sep 22 18:55:10 2021 GMT부터 Sep 17 00:00:00 2031 GMT까지 유효합니다. 제 인증서: 본문의 키체인 파이프라인과openssl x509 -noout -startdate -enddate로 확인한 결과 발급자 OU=G2, 유효 기간 2026년 5월 10일부터 2031년 5월 11일까지. 같은 파이프라인을 “Developer ID Installer”로 실행하면 아무것도 출력되지 않습니다. Homebrew의 OpenSSL 3.6.3은issuer=CN=Developer ID Certification Authority, OU=G2, O=Apple Inc., C=US를 출력합니다. 파이프라인을 “Developer ID Certification Authority”로 실행하면 subject 두 개가 출력되는데, 하나는 OU=Apple Certification Authority, 하나는 OU=G2이며 둘 다 Apple Root CA가 발급했습니다. 패키지:~/Downloads에 있는 Developer ID 서명.pkg파일 4개에pkgutil --check-signature를 실행했고, 내장된 인증서는 각 패키지의 목차(xar --dump-toc)에서 읽었습니다. 3개는 한 업체의 것으로 신뢰할 수 있는 타임스탬프가 2025년 9월 28일, 12월 14일, 12월 29일이고 서명 인증서는 2022년 4월 13일부터 2027년 2월 1일까지 유효합니다. 1개는 다른 업체의 것으로 신뢰할 수 있는 타임스탬프가 2014년 2월 3일이고 서명 인증서는 2012년 3월 28일부터 2017년 3월 29일까지 유효합니다. 각 체인의 기관 항목에는 “Expires: 2027-02-01 22:12:15 +0000”이 표시됩니다.spctl -a -t install -vv는 4개 모두에 대해 “accepted”와 “source=Notarized Developer ID”를 출력합니다. 앱:/Applications와 그 한 단계 아래 폴더에 있는 앱 가운데 “Developer ID Application” 서명 기관을 가진 66개 전부에codesign -dvv와codesign -d --extract-certificates를 실행했습니다. 중간 인증서의 Organizational Unit은 49개에서 “Apple Certification Authority”, 17개에서 “G2”입니다. 66개 모두Timestamp=줄을 보고합니다. 일련번호로 세면 49개는 서로 다른 서명 인증서 27개를 사용하며, 그중 5개는 2017년 8월부터 2021년 5월 사이에 각각 5년 기간으로 발급되었고, 22개는 2022년 2월 8일부터 2026년 1월 15일 사이에 발급되어 모두 Feb 1 22:12:15 2027 GMT에 끝납니다. 17개는 12개를 사용하며, 2023년 2월 9일부터 2026년 5월 29일 사이에 각각 5년 기간으로 발급되었고, 그중 3개는 2026년 4월과 5월에 발급되었습니다. 같은 66개에spctl -a -t exec -vv를 실행하면 63개(원래 기관 46개, G2 17개)에서 “source=Notarized Developer ID”, 1개에서 “source=Developer ID”, 2개에서 “a sealed resource is missing or invalid”가 나옵니다. 앱 6개(인증서 기준 5개)는 서명 인증서가 2026년 10월 1일 이전에 끝났으며(2022년 8월 9일부터 2026년 5월 26일까지), 6개 모두 받아들여지고 그중 5개는 공증된 것으로 받아들여집니다.man productsign, 인용. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, “Developer ID certificates,” 개발자 계정 도움말, “Manage Developer ID certificate and provisioning profile expiration”, 그리고 “Certificates overview,” “Expired or revoked certificates”의 Developer ID Application 및 Developer ID Installer 항목. 둘 다 2026년 10월 1일 확인, 인용. ↩↩↩↩