인증서에 대한 CSR을 생성하려고 하는데 인증서 제목 줄의 일부로 고유 ID를 포함하고 싶습니다. 인증서가 확인되고(일반적인 TLS 확인 방법을 통해) 연결이 설정된 후 TLS 클라이언트는 특정 목적으로 이 정보를 사용해야 합니다.
CSR을 자동으로 생성하는 스크립트를 사용하고 있는데 시스템에 있는 openssl 구성 파일을 수정할 수 있는 옵션이 없습니다. 추가 속성과 값을 지정할 수 있는 이 목적을 위해 임시 SSL 구성을 생성하는 옵션이 있다는 것을 알고 있습니다. 하지만 단순화를 위해 꼭 사용해야 할 때까지는 사용하지 않으려고 노력합니다.
다음 명령을 시도했지만 다음과 같은 경고 메시지가 나타납니다.
$ openssl req -key abc.pem -new -out abc.csr -subj "/CN=myhostname.mydomain.com/uuid=a1b2c3d4e5f6"
req: Skipping unknown attribute "uuid"
명령줄을 통해 UUID를 전달하는 방법이 있습니까? 그렇지 않은 경우 임시 구성 파일을 사용하는 유일한 옵션이 있습니까?
답변1
OpenSSL은 이것이 무엇을 의미하는지 모르기 uuid
때문에 요청에 추가할 수 없습니다.
openssl.cnf
파일에 새 속성을 정의하고 해당 유형의 모든 요청에 사용할 수 있습니다.
파일 openssl.cnf
에는 로 시작하는 줄이 있어야 하며 아마도 이미 있을 것입니다 oid_section =
. 이는 새 속성을 정의할 수 있는 섹션을 가리킵니다.
oid_section = new_oids
.
.
[ new_oids ]
uuid = 1.3.6.1.4.1.32473.123
다음 숫자 uuid
는 OID(객체 식별자)입니다. OID는 속성에 할당된 전역적으로 고유한 ID 번호입니다. 이는 CommonName 및 Organization과 같은 공용 속성에 대해 정의되지만 사용자 정의 속성을 사용하는 경우 OpenSSL이 이해할 수 있도록 여기에서 정의해야 합니다.
위의 예에서는 샘플 문서(1.3.6.1.4.1.32473)에 대해 사전 정의된 엔터프라이즈 OID 아크를 사용하고 새 노드 123을 추가합니다. 문서 외부의 도메인 이름으로 example.com 또는 example.org를 사용해서는 안 되는 것처럼 example arc를 사용해서는 안 됩니다.
당신은 할 수신규 사업자번호 등록무료로 나만의 OID 세트를 만들어보세요. 최상위 등록 OID에 추가된 모든 노드는 고유하며 사용자가 제어할 수 있습니다.