手上的專案用 RSA256 做為 JWT 的簽章驗證方式,需要針對不同環境產生不同的金鑰對(key pair)。撰寫文件時發現網路上找到的方法通常都是用 ssh-keygen(1)
搭配 openssl(1)
,但其實光用 openssl(1)
就足以產生 private key 與 public key。
產生 private key
如果要產生 2048 bits 的 RSA private key,並寫入檔案 private_key.pem
:
$ openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out private_key.pem
從 RSA private key 產生 public key
將 private key 檔案 private_key.pem
對應的 public key 寫入檔案 publickey_key.pem
:
$ openssl rsa -pubout -in private_key.pem -out public_key.pem