Java KeyStore 証明書を作成

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:7分
  • Java KeyStore (JKS) ファイルを作成して、Googleから取得したセキュリティ証明書を暗号化します。

    始める前に

    • 必要なロール:admin
    • サービスアカウントキーを含む JSON ファイルをGoogleからダウンロードします。JSON ファイルのダウンロードの詳細については、Google ドキュメントを参照してください。次に、サンプルの JSON ファイルを示します。
      {
        "type": "service_account",
        "project_id": "primeval-nectar-242610",
        "private_key_id": "0c6c7b1511f1c236c1300c5933d528bbf45314e5",
        "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQKBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDg97zOxfOenyu2\niXC8ArQHaAgOiy27sjG3jJXohUdHkawuX+nQLWZkIbZYlZX+cMjNfpUFpzeHRkPm\n5OQ2bjHCgCTVFCbToKIH+VkMpS7LO+TFKW2TkWJHzWO2Xv30bT+2HkSb4tTZisMg\nV/sI6dGJaOko4yTIBwZc7vlr28nGJdw945+9NVkEPm/G8drYJRTlrImyfnnD0RGR\npyKctHAC3wZ/rCE5b/VIHK5ZKspRT/qXVwZsH5pW7a8NDrB1z+YQIGGOjlfINxBE\nQCE5GhiUF+XscfGdq30culFoILO9xAk/41yQb8ziDr4Ru5H1UF0ljp4t6fLw3k2o\noDsr+R+XAgMBAAECggEAA03QIY9JsSowR6mEE+YsQ7GU8LW9kbSfw0zWxMf0UIpE\np5e0BOEt0EmodmuX/NkmMdJqmN8oUx3GkIULDvuWUn90SwbVPSVuS8SvOJ7SbZyv\nEvA1UkX/1gMftEV34FecaG3QXyO5MYq2q+pu3uYkNCrsxbN0TlXAE6xU0G81auoL\nYIl7pzVfcxDW5Of5VI5AuMc8+0rgadvOPu3JThjjauMvnDPKi5sbKDsDCfTqqDys\nHMny8+uhfCOr2JtTgpc4HUgqGKpALAUQvRZYmmlKqfBNgXo+dDBKJsd7pD9NnxQn\nM7l8wqQ0kS2kfcJsHNcV4ZUORabz1q1MFlVdxxeijQKBgQD5r7J/MgN4LLekaimE\n3T27KTA12aikQl0LORQHLbHZRexVD41WoRrQySSzUvQKXSiwZwRQLO/hptDRnUyh\n6WVQLwtSiNvItLu+8Ak2mb3F+NDEFb/R1FPdTR30G7wXEeau1+cm8+8N63ehFAW4\n7IXTyDhtO5c3deXN7SDrRFjrnQKBgQDmqAdRkKPwau6q+zSGPxqcFqlXS+ghpQkT\nUPxe45aZdRuFUOUCWA9BIbMnlVHZUDnQpiIbfBJ9Tcs2/vBwLt2QjziZPbnIlmkp\nqIF4t5edar8Z6vn0lWmeupAmlFqKN7GoopUD+RIto68BfSKIPczfGLtu3PxLEmgj\nRYzY5HUTwwKBgCZ05zssCtjBmm9aYpayNMXU7DX/FjhmeEo4Olt4sEHUwTfAs3Y6\nThUGRf7QsgG+o3u4AjQPF8tblCIU5i6x8gbNmCLYLXHWVGxuMB0WxOHvFsh8yRSa\nbWhSbmCgvPGYsj0Px+x5+cHdGInYuaDn3RznY7l/SiUipYh4E2/pEQEJAoGAdu1G\nMMESNkD8ZD5324wn7TkmATPLMaXFYydLqKVSHjeqg/eszKOY4e09UXiFJjZeSP2P\n8nnrkp4M3INgd4dCiGnANgsEgq9C887FSvfmfazvca6dSIXNWqE4+Btf/4ot2RRT\nHyRKQiv2bR8XMgYjXxiCc+wPTank9eLDd4V79D8CgYEA6Eywngil5bVO5ksW9gyp\n0u5eieKMNYndPq5lyw1POyN9nx/iYQ3m2FI7d2K7aBpK0AXkLZQqv5tbqrF2fvdO\nbm4eLISLg8kdZ09OohAsRuZ6JG2aICw4vTWgQyRWLe4RxdoY9gGKh8N844tUU7uN\nPCsWu/rdB8dT8wqerTFo81U=\n-----END PRIVATE KEY-----\n",
        "client_email": "service-now-google-trans-v3@primeval-nectar-242610.iam.gserviceaccount.com",
        "client_id": "113255944370425109391",
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://oauth2.googleapis.com/token",
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
        "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/service-now-google-trans-v3%40primeval-nectar-242610.iam.gserviceaccount.com"
      }
      

    手順

    1. JSON ファイルで、private_key 値に対して次のように実行します。
      1. \ n 文字のエスケープを解除します。
        ヒント:
        JSON ファイル内の文字のエスケープを解除するには、JSON 文字列を JavaScript オブジェクトに解析します。
      2. 秘密キーを拡張子 .pem のファイルに保存します。
    2. JSON ファイルで、client_x509_cert_url 値に対して次のように実行します。
      1. client_x509_cert_url に指定されたリンクを開きます。
      2. JSON ファイルに記載されている private_key_id に関連付けられている証明書の \ n 文字のエスケープを解除します。
      3. 証明書の値を拡張子 .pem のファイルに保存します。
    3. openssl コマンドを使用して、最近作成された秘密キーと証明書ファイルを使用して PKCS 12 ファイルを作成します。
      openssl pkcs12 -export -in [path to certificate] -inkey [path to private key] -certfile [path to certificate ] -out testkeystore.p12

      たとえば、certificate.pem が証明書で、privatekey.pem が秘密キーである場合、次のようになります。

      openssl pkcs12 -export -in certificate.pem -inkey privatekey.pem -certfile certificate.pem -out testkeystore.p12
      PKCS 12 ファイル、testkeystore.p12 が作成されます。
    4. エクスポートパスワードまたはソースキーストアパスワードを指定します。
      注:
      Google Cloud Translator Service スポークの JWT キーを作成するときに、このパスワードを指定する必要があります。
    5. keytool コマンドを使用して、PKCS 12 ファイルから JKS ファイルを作成します。
      keytool -importkeystore -srckeystore testkeystore.p12 -srcstoretype pkcs12 -destkeystore wso2carbon.jks -deststoretype JKS
      注:
      testKeyStore.p12 は PKCS 12 ファイルで、wso2carbon.jks は JKS ファイルです。
    6. 宛先キーストアのパスワードを指定します。
      注:
      Google Cloud Translator Service スポークに JKS 証明書を添付する場合は、このパスワードを指定する必要があります。