2012-05-25 4 views
1

우리 회사의 소프트웨어에 서명하기위한 인증서를 만들고 싶습니다. 나는 이것을 위해 사용하고 도구 (자바 SDK에서 keytool는) 다음과 같은 형식으로 고유 이름을 기대 :X.509 기업 인증서의 이름을 선택하는 방법은 무엇입니까?

CN=commonName, OU=organizationalUnit, O=organizationName, L=city, S=state, C=countryCode 

난 그냥 (안 특정 사람을 위해 거기에) 내 회사에 대한 인증서를 원하는 경우, 나는 고유 이름으로

CN=MyCompany, C=AT 

또는

O=MyCompany, C=AT 

를 사용해야합니까? 후자는 MyCompany가 조직의 이름이므로 더 이해하기 쉽지만 commonName을 비워 두는 것이 "옳은지"나는 모르겠습니다.

+0

FQDN을 CN에 입력하는 것이 일반적입니다. – Stefan

+1

@Stefan SSL/TLS에서 사용되는 인증서의 경우에만 해당됩니다 (심지어 CN도 비워 둘 수 있고 도메인 이름을 SubjectAlternativeName 확장에 배치 할 수 있습니다). 코드 서명을하는 데는 의미가 없습니다. –

+0

"FQDN을 CN에 넣는 것이 일반적입니다."그 연습은 [CA/B 기본 요구 사항] (https://cabforum.org/baseline-requirements-documents/)에서 더 이상 사용되지 않습니다 (9 절 참조). 이름은 항상'SAN'에 있어야합니다 (그리고'CN'이 있으면'SAN'에도 나열되어야합니다). 나는 RFC (2818, 5280, 6125)가 비슷한 제한을 가지고 있다고 생각하지 않는다. (그러나 그들은 빠르며 느슨하다.) 그러나 나는 인상을 얻는다. @Heinzi는 최종 엔티티 인증서에 대해 이야기하지 않는다. – jww

답변

2

CommonName은 회사 이름도 포함 할 수 있습니다. 또는 공백으로 둘 수 있습니다. 표준에는 SubjectName의 요소 수에 대한 요구 사항이 없으며 CommonName 형식에 대한 표준도 없습니다.

그러나 전체 작업은별로 의미가없는 것처럼 보입니다. 소프트웨어 서명을위한 자체 서명 된 인증서를 만들려고하지만 유효성 검사기는 그러한 서명을 수락하지 않습니다. 인증 된 Certificae Authority가 발급 한 인증서로 소프트웨어에 서명해야합니다.

+0

Android는 서명 된 코드가 필요하지만 자체 서명 된 인증서를 명시 적으로 허용합니다. '자체 서명 인증서를 사용하여 애플리케이션에 서명 할 수 있습니다. 인증 기관이 필요 없습니다. [출처] (http://developer.android.com/guide/publishing/app-signing.html) – Heinzi

+0

@Heinzi Android에 관해서 묻는다면 태그에 지정하십시오. Android는 특별한 경우입니다. 인증서의 내용은 전혀 중요하지 않으며 중요한 것은 인증서가 25 년간 유효하며 키가 동일하다는 것입니다. Android 인프라는 서명을 저작권의 증거로 사용하지만 이름은 신경 쓰지 않습니다. –

+0

정말 차이가 있습니까? CA 서명 인증서가있을 때 DN을 선택해야합니까? – Heinzi