명령줄을 통해 opensssl X509 인증서의 제목줄에 사용자 정의 필드 추가

명령줄을 통해 opensssl X509 인증서의 제목줄에 사용자 정의 필드 추가

인증서에 대한 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에 추가된 모든 노드는 고유하며 사용자가 제어할 수 있습니다.

관련 정보