|
1 | 1 | ### CA コマンド |
2 | | -証明書への署名に使用されます。このコマンドはコンフィグレーションファイルを指定し、そのファイルから基本的なコンフィグレーション内容を取得することが可能です。 |
| 2 | +証明書への署名に使用されます。設定ファイルの基本的な解析を処理できます。 |
3 | 3 |
|
4 | | -指定可能な引数: |
| 4 | +設定ファイルのディレクティブの詳細は[設定ファイル](config.md)を参照してください。 |
5 | 5 |
|
6 | | -- [-in] 入力となるCSRファイル |
| 6 | +引数: |
| 7 | + |
| 8 | +- [-in] 入力CSRファイル |
7 | 9 | - [-out] 出力先ファイル |
8 | 10 | - [-keyfile] 秘密鍵ファイル |
9 | 11 | - [-cert] CA証明書ファイル |
10 | | -- [-extensions] コンフィグレーションファイル内の解析すべきセクション |
11 | | -- [-md] ハッシュタイプ(sha, sha256, ...) |
| 12 | +- [-extensions] 設定ファイル内の拡張セクション |
| 13 | +- [-md] ハッシュタイプ(sha、sha256 など) |
12 | 14 | - [-inform] CSRファイル形式(PEM/DER) |
13 | | -- [-config] コンフィグレーションファイル |
14 | | -- [-days] 証明書に与える有効期間(日数) |
15 | | -- [-selfsign] 自己署名する |
| 15 | +- [-config] 設定ファイル |
| 16 | +- [-days] 証明書の有効期間(日数) |
| 17 | +- [-selfsign] 入力証明書に関連付けられた鍵で署名 |
16 | 18 |
|
17 | 19 | 使用例: |
18 | 20 |
|
19 | 21 | ``` |
20 | 22 | wolfssl ca -config ca.conf -in test.csr -out test.pem -md sha256 -selfsign -keyfile ./key |
21 | 23 | ``` |
| 24 | + |
| 25 | +### 典型的なワークフロー:CAでCSRに署名 |
| 26 | + |
| 27 | +**ステップ1: CA鍵と証明書を作成**([GENKEY コマンド](genkey.md)と[REQ コマンド](req.md)を参照) |
| 28 | + |
| 29 | +``` |
| 30 | +wolfssl genkey rsa -size 2048 -out ca -outform pem -output KEYPAIR |
| 31 | +wolfssl req -new -x509 -key ca.priv -out ca.pem -days 3650 -subj "/C=JP/ST=Tokyo/L=Shinjuku/O=Example/CN=Example CA" |
| 32 | +``` |
| 33 | + |
| 34 | +**ステップ2: サーバー鍵とCSRを作成** |
| 35 | + |
| 36 | +``` |
| 37 | +wolfssl genkey rsa -size 2048 -out server -outform pem -output KEYPAIR |
| 38 | +wolfssl req -new -key server.priv -out server.csr -subj "/C=JP/ST=Tokyo/L=Shinjuku/O=Example/CN=example.com" |
| 39 | +``` |
| 40 | + |
| 41 | +**ステップ3: サーバーCSRをCAで署名** |
| 42 | + |
| 43 | +``` |
| 44 | +wolfssl ca -in server.csr -out server-signed.pem -keyfile ca.priv -cert ca.pem -days 365 -md sha256 |
| 45 | +``` |
| 46 | + |
| 47 | +**ステップ4: 署名済み証明書を検証**([VERIFY コマンド](verify.md)を参照) |
| 48 | + |
| 49 | +``` |
| 50 | +wolfssl verify -CAfile ca.pem server-signed.pem |
| 51 | +``` |
| 52 | + |
| 53 | +### CAでの設定ファイルの使用 |
| 54 | + |
| 55 | +`-config` オプションを使用すると、署名時に追加する証明書拡張を指定できます。 |
| 56 | + |
| 57 | +CA設定ファイルの例(`ca.conf`): |
| 58 | + |
| 59 | +```ini |
| 60 | +[ca] |
| 61 | +x509_extensions = v3_ca |
| 62 | + |
| 63 | +[v3_ca] |
| 64 | +basicConstraints = critical, CA:FALSE |
| 65 | +keyUsage = digitalSignature, keyEncipherment |
| 66 | +subjectKeyIdentifier = hash |
| 67 | +subjectAltName = @alt_names |
| 68 | + |
| 69 | +[alt_names] |
| 70 | +DNS.1 = example.com |
| 71 | +DNS.2 = www.example.com |
| 72 | +``` |
| 73 | + |
| 74 | +設定ファイルの拡張を使用してCSRに署名: |
| 75 | + |
| 76 | +``` |
| 77 | +wolfssl ca -config ca.conf -extensions v3_ca -in server.csr -out server-signed.pem -keyfile ca.priv -cert ca.pem -days 365 -md sha256 |
| 78 | +``` |
| 79 | + |
| 80 | +### 制限事項 |
| 81 | + |
| 82 | +設定ファイルを使用しない場合、wolfCLUは署名された各証明書にランダムなシリアル番号を生成します。設定ファイルベースのシリアル番号管理とその現在の制限事項については、[設定ファイル - 制限事項](config.md#制限事項)を参照してください。 |
0 commit comments