본문 바로가기

VMware/운영(TAS)

[Tanzu 운영] (3) Bosh CA 인증서 교체

이 절차에서는 Ops Manager API를 사용하여 Ops Manager 루트 CA 및 리프 인증서를 교체합니다. 
Ops Manager 루트 CA를 교체하면 Ops Manager API가 자동으로 BOSH NATS CA를 교체합니다.

 

 

 

 

 

1-1. BOSH Root CA 인증서 만료 확인


curl로 api를 호출하였을때, 인증서가 만료되었을 경우 접근이 불가능 합니다.

따라서 웹 브라우저에서 https://54.238.105.246/api/v0/certificate_authorities로 접속합니다.

 

인증서가 만료되었음을 확인 하는 방법 

 

복사하여, ops.crt 라는 파일에 붙여넣어서 crt를 만듭니다. 

$ openssl x509 -in opsman.crt -noout -dates

Director VM의 인증서 직접 확인

# Bosh Director 접속
# /var/vcap/jobs/director/config/

$ openssl x509 -in -dates -noout nats_server_ca.pem
$ openssl x509 -in -dates -noout nats_client_ca_certificate.pem
$ openssl x509 -in -dates -noout nats_client_certificate.pem

 

 

 

 

 

 

1-2 . BOSH CA regenerate 


  • 만료된 RootCA를 재생성 합니다.
uaac target https://10.10.10.10/uaa —-skip-ssl-validation
$ uaac target owner get
$ export TOKEN=$(uaac context | grep "access_token" | awk '{print $2}')

$ curl "https://54.238.105.246/api/v0/certificate_authorities/generate" \
-X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{}' -i -k

# regenerate시 에러사항 정리
# 트러블 슈팅 (1)

https://themapisto.tistory.com/156

트러블 슈팅시 참고

 

[VMware TroubleShooting] (1) Bosh CA 인증서 생성시 중복오류

latest certificate authority versions with active children are not signing 이 경우는 , 최신 버전의 자격증명의 버전과 해당 CA가 signed 하고 있는 active chiledren이 일치 하지 않는 경우 한마디로 꼬인..

themapisto.tistory.com


 

 

 

 

 

 

 

 

1-3. BOSH CA activate


  • 재생성한 Root CA를 활성화 시킵니다.
curl "https://54.238.105.246/api/v0/certificate_authorities/pcf화면에서guid값복사/activate" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}' -i -k
  • activate 하면 기존에 사용하던 CA는 active 상태가 false로 바뀌고 새로 만든 CA는 active 상태가 true로 바뀝니다.

 

1-4.   남은 Leaf 인증서 회전

 

activating 후에 root CA와 다른 CAs들이 바뀌었기 때문에 반드시, 새로운 ca로 부터 sign 받지 못한 leaf들을 회전시켜 줘야 합니다.

curl "https://54.238.105.246/api/v0/certificate_authorities/active/regenerate" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}' -i -k

1-5. Old Root CA 삭제


  
  curl "https://54.238.105.246/api/v0/certificate_authorities/OLD-CERTIFICATE-GUID복사" \
      -X DELETE \
      -H "Authorization: Bearer $TOKEN"
      -H "Content-Type: application/json" \
      -d '{} -i -k

 

1-6. Apply Change