web-dev-qa-db-ja.com

opensslで作成された認証局による証明書要求への署名

次のコマンドを使用して、Ubuntuで認証局を作成しました。

openssl req -config /etc/ssl/openssl.cnf -new -x509 -keyout ck.pem -out cacert.pem -days 365

次に、以下を使用して証明書リクエストを作成しました。

openssl req -out C.csr -new -newkey rsa:2048 -nodes -keyout c_p.key

作成した認証局を使用してこのリクエストに署名したいと思います。そのために私は実行しました:

openssl ca -config /etc/ssl/openssl.cnf -policy optional -out C.crt -infiles C.csr

しかし、私はエラーが出ます:

Using configuration from /etc/ssl/openssl.cnf unable to load CA
private key 140189274035872:error:0906D06C:PEM
routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: ANY
PRIVATE KEY

このエラーを取り除くにはどうすればよいですか?このコマンドは、上で定義した権限を使用しますか、それともシステムのデフォルトの権限を使用しますか?

編集:

完全を期すために、私がしなければならなかったステップを残します:

  1. 関連ファイルを作成します。
mkdir demoCA
mkdir ./demoCA/newcerts
touch ./demoCA/index.txt

また、01と末尾に改行を含む「シリアル」ファイルをdemoCAに作成します。

  1. 認定:
openssl ca -config /etc/ssl/openssl.cnf -cert cacert.pem -keyfile ck.pem -out C.crt -infiles C.csr
2
Rodrigo

最初のコマンドで新しい鍵ペアを作成しました。次に、これらについてOpenSSL CAに通知する必要があります。

/etc/ssl/openssl.cnfを編集し、private_keyおよびcertificate行が新しい秘密鍵と証明書ファイルの場所を指すようにするか、-certおよび-keyfile引数を使用します。 openssl caコマンドに追加して、/etc/ssl/openssl.cnfの値を上書きします。

4
garethTheRed