앞서 인증서를 만들다 보니 CA인증서 밑에 중간 인증서, 중간 인증서 밑에 서버 인증서... 이렇게 상위 하위 인증서 개념이 있었다. 결론부터 보자면

이렇게 server 밑에 sub.server인증서가 있는 것이다. 어떻게 하위 인증서를 만들 수 있을까?

내가 알고 있는 방법은 2가지 방법이다.

  1. 상위 key pair (여기선 server를 지칭함.) 하위 key pair(sub.server)를 생성하는 방법
  2. 하위 key pair에서 CSR을 발행해서 상위 key pair가 CSR에 sign하는 방법

먼저 상위 key pair(server)에서 바로 key pair를 생성하는 것이다. 

 

아주 간단하게 필요한 정보만 넣으면 만들어 진다. sub.server키를 export하면 .p12 형식으로 만들어서 전달 가능하다.

 

다음 방법은 CSR을 사용하여 sub.server키를 만들어 보자. 이 방법은 전 방법과는 다르게 키를 만드는 주체가 서로 다르다는 것이다. 서로 다른 서버에서 각각 키를 만들었는데 어떻게 sign을 하는지가 포인트다.

서로 다른 JKS 키가 있다. 각각 key pair를 살펴보면 아래와 같이 전혀 상관없는 key pair이다.

이 상태에서 sub.server키에서 CSR을 생성한다. p10형식의 .csr파일이 생성된다.

이제 만들어진 CSR 파일로 server키에서 sign을 하면 된다.

CSR에 대한 응답으로 .p7r파일이 생성된다.

sub.server키에서 import CA reply를 한 결과 위와 같이 설정된다.

캡처가 장황하게 들어가서 길어졌지만 CSR을 간단하게 설명하면 sub키에서 CSR을 생성하면 server키에서 .p7r로 sign을 하고 다시 sub키에서 .p7r를 import 하면 된다.

openssl script로 뭐가 뭐지? 하며 정리가 안되던 차에 keystore explorer로 눈에 보이게 캡처를 하나하나 떠서 만들어 정리해봤다. 혹시라도 헷갈리시는 분은 이렇게 정리하고 script를 다시 보면 이해가 가지 않을까 싶다.

+ Recent posts