メインコンテンツまでスキップ
バージョン: 3.10

証明書の取得方法

注記

このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。

このドキュメントでは、ScalarDL に登録するための証明書を取得する方法について説明します。

ScalarDL にはいくつかの種類の認証方法があります。認証方法として digital-signature を使用する場合は、秘密鍵と証明書ファイルを用意する必要があります。認証方法の詳細については、ScalarDL 認証ガイド を参照してください。

秘密鍵と証明書の要件

digital-signature を認証方法として使用する場合は、次の要件を満たす秘密鍵と証明書を作成する必要があります。

  • SEC1 または PKCS#8
  • アルゴリズムとして ECDSA
  • 曲線パラメータとして P-256
  • ハッシュ関数として SHA256
注記

ScalarDL は証明書の有効期限をチェックしません。そのため、ScalarDL が使用する証明書には任意の有効期限を設定できます。

秘密鍵と証明書ファイルを作成する

自己署名証明書は次のように作成できます。

注記

この例では、SEC1 鍵を作成します。

前提条件

次の手順では、cfssl および cfssljson コマンドラインツールをインストールする必要があります。

ローカル CA を作成する

  1. 作業ディレクトリを作成します。

    mkdir -p ${HOME}/scalardl/digital-signature/certs/
  2. 作業ディレクトリを ${HOME}/scalardl/digital-signature/certs/ に変更します。

    cd ${HOME}/scalardl/digital-signature/certs/
  3. CA の情報を含む JSON ファイルを作成します。

    cat << 'EOF' > ${HOME}/scalardl/digital-signature/certs/ca.json
    {
    "CN": "scalardl-example-ca",
    "key": {
    "algo": "ecdsa",
    "size": 256
    },
    "names": [
    {
    "C": "JP",
    "ST": "Tokyo",
    "L": "Shinjuku",
    "O": "ScalarDL Example CA"
    }
    ]
    }
    EOF
  4. CA 秘密鍵と証明書ファイルを作成します。

    cfssl gencert -initca ca.json | cfssljson -bare ca
  5. CA 構成を含む JSON ファイルを作成します。

    cat << 'EOF' > ${HOME}/scalardl/digital-signature/certs/ca-config.json
    {
    "signing": {
    "default": {
    "expiry": "87600h"
    },
    "profiles": {
    "scalardl-example-ca": {
    "expiry": "87600h",
    "usages": [
    "signing",
    "key encipherment",
    "server auth"
    ]
    }
    }
    }
    }
    EOF

各コンポーネントの秘密鍵と証明書を作成する

  1. ScalarDL Ledger の情報を含む JSON ファイルを作成します。

    cat << 'EOF' > ${HOME}/scalardl/digital-signature/certs/ledger.json
    {
    "CN": "scalardl-ledger",
    "hosts": [
    "ledger.scalardl.example.com",
    "localhost"
    ],
    "key": {
    "algo": "ecdsa",
    "size": 256
    },
    "names": [
    {
    "C": "JP",
    "ST": "Tokyo",
    "L": "Shinjuku",
    "O": "ScalarDL Ledger Example"
    }
    ]
    }
    EOF
  2. ScalarDL Ledger の秘密鍵と証明書ファイルを作成します。

    cfssl gencert -ca ca.pem -ca-key ca-key.pem -config ca-config.json -profile scalardl-example-ca ledger.json | cfssljson -bare ledger
  3. 秘密鍵と証明書ファイルが作成されたことを確認します。

    ls -1

    次のような結果が表示されます:

    ca-config.json
    ca-key.pem
    ca.csr
    ca.json
    ca.pem
    ledger-key.pem
    ledger.csr
    ledger.json
    ledger.pem

    この場合:

    • ledger-key.pem は ScalarDL Ledger の秘密鍵ファイルです。
    • ledger.pem は ScalarDL Ledger の証明書ファイルです。
    • ca.pem はルート CA の証明書ファイルです。