programing

오픈 소스 프로젝트에 대한 코드 서명 인증서?

nasanasas 2020. 8. 22. 09:01
반응형

오픈 소스 프로젝트에 대한 코드 서명 인증서?


내 애플리케이션 중 하나를 오픈 소스로 게시하고 자체 인증서로 만든 바이너리에 디지털 서명을하고 싶습니다. (물론 다른 사람은 코드를 다운로드하고 자신의 인증서로 직접 빌드 할 수 있습니다.)이 빌드가 다른 사람이 아닌 내가 만든 것인지 누구나 확인할 수 있도록 이렇게하고 싶습니다. 또한 방문자가 안전한 방식으로 자신의 계정을 만들어이 프로젝트에 기여할 수 있도록 유효한 SSL 인증서로 안전한 웹 사이트를 만들고 싶습니다.

자체 서명 된 인증서를 만들 수는 있지만이 옵션이 마음에 들지 않습니다. 또는 Verisign에 몇 개의 금화를 지불하여 몇 년 동안 유효한 인증서를 얻을 수 있습니다. 저도 그 옵션이 마음에 들지 않습니다. 제 재무는 제게 가치가 있기 때문입니다.

그래서 다른 옵션이 있습니까? 예를 들어 할인 된 가격에 인증서를 제공하여 오픈 소스 프로젝트를 지원하는 제공 업체가 있습니까? 무료 일 필요는 없으며 Verisign보다 훨씬 저렴합니다.

(이 프로젝트는 Visual Studio 2008 과 함께 C #으로 생성됩니다 . 그리고 SSL을 원하는 ASP.NET의 추가 프로젝트도 있습니다.)


CAcert 를 사용해 볼 수 있습니다 . 이를 통해 다른 CAcert 사용자의 인증을받습니다. CAcert에는 평판 기반 시스템이 있으므로 충분히 자주 인증을 받으면 인증서가 유효한 것으로 간주됩니다.

대상 시스템에서 CAcert를 신뢰할 수있는 기관으로 추가해야 할 수 있습니다. 실행 파일 자체 서명은 충분한 옵션이어야하지만 공용 인증서를 제공해야합니다. 알려진 기관을 사용하면 파일을 확인하는 데 도움이 될 수 있지만이 경우에는 자체 서명 된 인증서와 함께 파일의 체크섬 또는 sha2 해시를 사용하는 것이 과도하다고 생각합니다. Linux 박스를 CA로 설정할 수 있지만 공인 인증서를 신뢰해야합니다.


오픈 소스 개발자, Certum는 코드 서명 인증서를 제공하는 무료 *

인증서를 요청할 때 "회사"필드에 "오픈 소스 개발자"를 입력하면됩니다. 그게 다야.

오픈 소스 코드 서명 인증서 링크는 여기

[*] 2016 년부터 오픈 소스 코드 서명 인증서는 더 이상 무료로 제공되지 않습니다. 이제 유료 전용 서비스입니다.


업데이트 : 더 이상 무료가 아닙니다. 이제 € 105.78 (2017 년 2 월 19 일 기준). 이미 암호화 하드웨어를 소유하고 있다면 비용이 적습니다. FWIW, 다음은 이전 지침입니다.


개인으로서 Certum / Unizeto 에서 무료 코드 서명 인증서를 받으려면 다음 단계를 따르십시오. Internet Explorer 또는 Safari는 키 교환 메커니즘을 지원하므로 사용하십시오.

  1. 에 대한 검색 테스트 ID와 OpenSource 다음 코드 서명 인증서 양식을 제출합니다.

  2. 인증서는 인증서 활성화 아래에 나타납니다 . 활성화를 클릭 합니다 .

  3. 활성화 마법사를 진행합니다. 들어 조직 입력 오픈 소스 개발자를 . 들어 조직 단위 입력 소프트웨어 출판 .

  4. 신원 증명을 요청하는 이메일을 받게됩니다. 오픈 소스 프로젝트에 대한 링크와 운전 면허증 이미지 (또는 다른 승인 된 문서)를 포함하여 회신하십시오. 개인 정보를 보호하려면 답장을 암호화해야합니다. * 암호화 방법은 이메일 클라이언트에 따라 다릅니다. Outlook의 경우 이메일 인증서 ( 무료 ) 가 있는지 확인 하고 암호화를 사용 설정 합니다.

  5. 하루 정도 이내에 인증서를 수집 할 수있는 링크가 포함 된 이메일을 받게됩니다. 프로세스를 시작하는 데 사용한 것과 동일한 컴퓨터와 브라우저에서 링크를 열어야합니다.

* Certum의 확인 이메일에서에게 증명을 보내라고했지만 Certum은 암호화 된 이메일을 보낼 수 ccp@certum.pl있는 회신 주소로 보낸 증명도 수락 info@certum.pl합니다.


2016 업데이트 : 의심스러운 상황에서 WoSign이 StartCom을 인수했습니다 . 나는 StartCom / WoSign을 믿지 않을 것입니다. 아래 텍스트는 StartCom 2015 년 초까지 얼마나 좋은지에 대한 역사적인 메모로 고려하십시오 .

StartCom (StartSSL) 에서 코드 서명 인증서를 받았습니다 . 나는 그들의 서비스에 매우 만족합니다. 그들의 고객 서비스는 매우 빠르고 가격도 매우 합리적입니다.

코드 서명 인증서 얻기

코드 서명 인증서를 얻으려면 클래스 2 신원 확인이 필요합니다 . StartCom은 전체 프로세스를 안내합니다 (우수한 응답률, 일반적으로 경험상 10 분 이내).
한 번에 자세한 내용을 확인하려면 이 블로그 게시물을 읽어 보세요. 한 시간 이내에 확인되었습니다 (페이팔을 통해 59.90 달러의 수수료).

유효성을 검사 한 후 새 개인 키와 CSR (인증서 서명 요청)을 생성합니다. 참고 공개 키를 제외한 모든 필드는 무시됩니다 . 인증서의 모든 정보는 CSR이 아니라 신원 확인 중에 제공 한 정보에서 유추됩니다 .

# Create key and CSR (key must be at least 2048 bit, per Policy Statement)
openssl req -nodes -newkey rsa:2048 -keyout codesigning.key -out codesigning.csr
# Add pass phrase to key (optional, but highly recommended)
openssl rsa -in codesigning.key -des3 -out codesigning2.key && \
    mv codesigning2.key codesigning.key

웹 인터페이스를 통해 제출하면 2 년 동안 유효한 새 인증서를 빠르게받을 수 있습니다 (1 시간 내에 발급 받았습니다).

문제 : 평생 서명 OID

StartCom의 클래스 2 인증서에는 평생 서명 OID가 설정되어 있습니다. 이 비트로 인해 서명 된 코드의 서명은 인증서가 만료 된 후 타임 스탬프가 찍힌 경우에도 유효하지 않게됩니다.

이 OID에 대한 이유를 Eddy Nigg (StartCom의 COO / CTO)에게 물었을 때 그는 다음과 같이 대답했습니다.

인증서가 이미 만료 된 후에도 최대 20 년 동안 CRL을 유지해야합니다. 이것은 우리가 EV 레벨 인증서 (훨씬 적은 양, 다른 지불 조건)에 대해 할 수있는 일이지만,이 혜택을 위해 클래스 2의 가격을 인상 할 것입니다 (코드 서명은이 레벨의 옵션의 일부일뿐입니다).

Timestamping is thus only available after Extended Validation (EV), which is only available to legally established organizations and costs 199.90 $. So, individual developers cannot use timestamping with a code signing certificate from StartCom.

For a long time, I considered this limitation as a big issue. Recently, I changed my mind: It only happens once every two years, security-minded users might be more inclined to get the latest version of my software, and old versions of the software will still work (for those who want to use it; though without a verified signature).

Note: Always timestamp your code, even when the Lifetime signing flag is set! Timestamped signatures will remain valid until the expiry date of the certificate, even when the certificate has been revoked (obviously, only if the signature was created before the certificate was revoked).

Practical use of certificate

At StartCom, you only pay for validation. The identity validation is valid for 350 days, and during this period, you can request code signing certificates for free. You can only have one valid code signing certificate, and it can be used to sign any code (MSI, DLL, XPI, ...) but not driver code (this requires EV).

To change an attribute on the certificate, the previous certificate must be revoked an a new one requested. Revocation of a certificate costs 29.90 $. Though when I changed my email a day after getting a code signing certificate, they exceptionally revoked my certificate without fee (I was positively surprised)!

Expiration

When your certificate is about to expire (after almost two years), you get a notification (two weeks in advance). If your verified identity is still valid (recall that validations expire after 350 days; then you have to confirm your identity again for 59.90$), you can request a new certificate without revoking the previous one. Do not forget to publish a new release of your software that's signed with this new code signing certificate, because the previous releases will soon show "(not verified)" or something similar.

OCSP

When I received my certificate, I signed my Firefox add-on. However, it still showed "(Author not verified)", even though my XPI file was correctly signed. It turned out that Firefox did not get the current certificate status when it queried the OCSP servers of StartCom for the revocation status of my new certificate. possibly relevant forum topic

After about a half day, my certificate was known to the OCSP servers, and my name showed up as expected. Lesson learnt: When you've got a new certificate, wait about a day before publishing your software with the new signature.


You could have a look the StartSSL product.


You can also check out KSoftware. They resell Comodo code signing certificates for US$99/ year.


코드 서명 인증서를 구입해야합니다. 가장 저렴한 것은 Comodo에서 온 것입니다. 나는 당신이 계획 한 것처럼 소스 코드와 바이너리를 게시하고 바이너리에 서명했습니다. 사진 및 기타 파일에 대해서는 날짜 및 시간 배치 체인저를 참조하십시오 .

참고 URL : https://stackoverflow.com/questions/1177552/code-signing-certificate-for-open-source-projects

반응형