🔥 Package Collection 서명하기 (선택사항)

142자
2분

Package Collection에 서명하면 신뢰성을 확립하고 무결성을 보호할 수 있습니다. 서명은 선택사항입니다. 사용자는 서명되지 않은 Collection을 추가하기 전에 확인 메시지를 받게 됩니다.

package-collection-sign 도구를 사용하면 발행자가 Package Collection에 서명할 수 있습니다. 서명을 생성하려면 다음을 제공해야 합니다:

  • 서명할 Package Collection 파일
  • 코드 서명 인증서 (DER-encoded)
  • 인증서의 개인 키 (PEM-encoded)
  • 인증서의 전체 체인

서명된 Package Collection에는 추가로 signature 객체가 포함됩니다:

{
  ...,
  "signature": {
    "signature": "<SIGNATURE>",
    "certificate": {
      "subject": {
        "commonName": "Jane Doe",
        ...
      },
      "issuer": {
        "commonName": "Sample CA",
        ...
      }
    }
  }
}
json
  • "<SIGNATURE>"로 표시된 서명 문자열은 SwiftPM 사용자가 Collection을 추가할 때 서명 이후 Collection 파일의 내용이 변조되지 않았는지 확인하는 데 사용됩니다. 여기에는 인증서의 공개 키와 체인이 포함되어 있습니다.
  • certificate는 서명 인증서에서 추출한 세부 정보를 담고 있습니다. subject.commonName은 사용자가 인식할 수 있도록 발행자 이름과 일치해야 합니다. 인증서의 루트는 사용자 머신에 설치되고 신뢰받아야 합니다.