次のコマンドを使用して、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
このエラーを取り除くにはどうすればよいですか?このコマンドは、上で定義した権限を使用しますか、それともシステムのデフォルトの権限を使用しますか?
編集:
完全を期すために、私がしなければならなかったステップを残します:
mkdir demoCA mkdir ./demoCA/newcerts touch ./demoCA/index.txt
また、01と末尾に改行を含む「シリアル」ファイルをdemoCAに作成します。
openssl ca -config /etc/ssl/openssl.cnf -cert cacert.pem -keyfile ck.pem -out C.crt -infiles C.csr
最初のコマンドで新しい鍵ペアを作成しました。次に、これらについてOpenSSL CAに通知する必要があります。
/etc/ssl/openssl.cnf
を編集し、private_key
およびcertificate
行が新しい秘密鍵と証明書ファイルの場所を指すようにするか、-cert
および-keyfile
引数を使用します。 openssl ca
コマンドに追加して、/etc/ssl/openssl.cnf
の値を上書きします。