2013-10-02 5 views
4

나는 웹에서 몇 가지 houres를 검색해 왔으며이를 수행 할 방법을 찾을 수 없습니다. 이미 다음 명령을 사용하여 자체 서명 된 CA 인증서를 만들 수있었습니다.OpenSSL을 사용하는 일반 (임의) 확장을 포함하여 인증서 요청을 생성하는 방법은 무엇입니까?

openssl genrsa -out ca.key 1024 
openssl req -new -x509 -extensions v3_ca -key ca.key -out ca.crt -days 3650 

이제 새로운 인증서를 만들고 CA에 서명하고 싶습니다. 새 인증서에서 자체 확장을 갖고 싶습니다. "abc"를 정수 값 "1"로 지정할 수 있습니다. 단지이를 포함하여 openssl.cnf 파일을 사용하는 동안

openssl req -new -nodes -newkey rsa -extensions abc -keyout mycert.key -out mycsr.csr -days 365 -config ./openssl.cnf 

:

[ abc ] 

abc = ASN1:INTEGER:1 

나는 오류

내가 SO에 this 막연하게 관련 topis 여기
Error Loading extension section abc 
3073632456:error:0D06407A:asn1 encoding routines:a2d_ASN1_OBJECT:first num too large:a_object.c:109: 
3073632456:error:22074073:X509 V3 routines:V3_GENERIC_EXTENSION:extension name error:v3_conf.c:271:name=abc 

다음 얻을, 나는 다음과 같은 명령을 시도 하지만 전혀 도움이되지 않습니다 ...

W 모자가 문제인 것 같니? 어떻게 나 자신을 교정 할 수 있습니까? 어떤 생각이라도 감사합니다.

답변

2

오류는 param abc extension name error:v3_conf.c:271:name=abc 섹션 [abc]에 속하지 않습니다. 당신이 자신의 OID를 (2.5.29.36가 http://www.oid-info.com/get/2.5.29.36 참조)가이 키워드 PolicyConstraints와 뜻이 policyConstraints = ... 같은 구성 일에서 볼 경우 당신은abc = ... 을 쓸 수 있으며 도서관에서 미리 컴파일. 할 수있는 일 1. 당신에게 적합한 기존 OID를 찾아 abc 대신 작성하십시오. 2. 자신의 OID를 정의하십시오 (abc 대신 1.2.3.4 만 바꾸십시오).하지만 다른 시스템에서는 사용할 수 없습니다.

+1

대단히 감사합니다. 나는 그 프로젝트에서 더 이상 일하지 않기 때문에 이미 그것을 시험 할 수는 없지만, 당신의 대답은 의미가 있으며 앞으로 다른 누군가에게 도움이되기를 바랍니다. – Petr

+0

나를 위해 매우 중요한 긍정적 인 피드백을 보내 주셔서 감사합니다. 늦게 재연 한 것에 대해 유감스럽게 생각합니다. 저는 서로를 도우려고 조금 게을 렀습니다. –