OCI API 인증을 위한 RSA Key Pair

OCI(Oracle Cloud Infrastructure)에서 제공하는 API를 사용하기 위해서는 RSA 키로 API signing을 해야 합니다. RSA 키를 PEM 파일로 만드는 명령을 정리합니다. 이 문서에서 정리하는 명령은 Linux/Mac를 기준으로 합니다. 윈도우의 경우 Windows 10의 WSL(Winsow Subsystem for Linux2)를 설치하면 동일한 명령을 사용할 수 있습니다.

이 문서의 기준 정보는 다음과 같습니다.

기준 정보 설정값
기준 디렉터리 $HOME/.oci
개인키 파일명 oci_api
공개키 파일명 oci_api_public.pem

RSA 개인키 만들기

RSA 개인키는 다음과 같은 명령 패턴으로 생성합니다.

openssl genrsa -out $HOME/.oci/<your-rsa-key-name>.pem 2048

위 명령 패턴은 개인키 파일명이 oci_api`일 경우에 다음과 같은 명령이 됩니다.

openssl genrsa -out $HOME/.oci/oci_api.pem 2048

이렇게 생성된 파일은 권한을 600으로 설정합니다.

chmod 600 $HOME/.oci/oci_api.pem

위 명령을 실행한 결과는 다음과 같습니다.

> openssl genrsa -out $HOME/.oci/oci_api.pem 2048
Generating RSA private key, 2048 bit long modulus
.........+++
...............................................................................+++
e is 65537 (0x10001)
> chmod 600 $HOME/.oci/oci_api.pem
> ls -al $HOME/.oci/oci_api.pem
-rw-------  1 taewan  staff  1679 11 29 00:09 /Users/taewan/.oci/oci_api.pem

RSA 공개키 만들기

RSS 공개키는 다음과 같은 명령 패턴으로 생성합니다.

openssl rsa -pubout -in $HOME/.oci/<your-rsa-key-name>.pem -out $HOME/.oci/<your-rsa-key-name>_public.pem

위 명령 패턴은 개인키 파일명이 oci_api`일 경우에 다음과 같은 명령이 됩니다.

openssl rsa -pubout -in $HOME/.oci/oci_api.pem \
-out $HOME/.oci/oci_api_public.pem

위 명령을 실행한 결과는 다음과 같습니다.

> openssl rsa -pubout -in $HOME/.oci/oci_api.pem \
-out $HOME/.oci/oci_api_public.pem
writing RSA key
> 

공개키 Fingerprint 확인

공개 파일명이 $HOME/.oci/oci_api_public.pem일 때, 다음 명령으로 공개키 파일 Fingerprint를 확인할 수 있습니다.

openssl rsa -pubout -outform DER -in ~/.oci/oci_api_key.pem | openssl md5 -c

위 명령의 실행 결과는 다음과 같습니다.

> openssl rsa -pubout -outform DER -in ~/.oci/oci_api_key.pem | openssl md5 -c
writing RSA key
aa:41:d3:08:3d:f1:61:19:ad:9e:db:bc:2e:de:82:43
>