証明書の取得方法
注記
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
このドキュメントでは、ScalarDL に登録するための証明書を取得する方法について説明します。
ScalarDL にはいくつかの種類の認証方法があります。認証方法として digital-signature
を使用する場合は、秘密鍵と証明書ファイルを用意する必要があります。認証方法の詳細については、ScalarDL 認証ガイド を参照してください。
秘密鍵と証明書の要件
digital-signature
を認証方法として使用する場合は、次の要件を満たす秘密鍵と証明書を作成する必要があります。
SEC1
またはPKCS#8
鍵- アルゴリズムとして
ECDSA
- 曲線パラメータとして
P-256
- ハッシュ関数として
SHA256
注記
ScalarDL は証明書の有効期限をチェックしません。そのため、ScalarDL が使用する証明書には任意の有効期限を設定できます。
秘密鍵と証明書ファイルを作成する
- 自己署名証明書
- CFSSL サーバー
- サードパーティ CA またはプライベート CA
自己署名証明書は次のように作成できます。
注記
この例では、SEC1
鍵を作成します。
- CFSSL
- OpenSSL
前提条件
次の手順では、cfssl および cfssljson コマンドラインツールをインストールする必要があります。
ローカル CA を作成する
-
作業ディレクトリを作成します。
mkdir -p ${HOME}/scalardl/digital-signature/certs/
-
作業ディレクトリを
${HOME}/scalardl/digital-signature/certs/
に変更します。cd ${HOME}/scalardl/digital-signature/certs/
-
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 -
CA 秘密鍵と証明書ファイルを作成します。
cfssl gencert -initca ca.json | cfssljson -bare ca
-
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
各コンポーネントの秘密鍵と証明書を作成する
- ScalarDL Ledger
- ScalarDL Auditor
- クライアント
-
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