From 48b5352212d8c68f7fd071ca9f38822b7e954c5a Mon Sep 17 00:00:00 2001 From: Rich Salz Date: Sat, 20 May 2017 21:44:31 -0400 Subject: [PATCH] -inkey can be an identifier, not just a file update pkcs12, smime, ts apps. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/3507) --- apps/pkcs12.c | 2 +- apps/smime.c | 2 +- apps/ts.c | 2 +- doc/man1/pkcs12.pod | 6 ++++-- doc/man1/smime.pod | 6 ++++-- doc/man1/ts.pod | 6 ++++-- 6 files changed, 15 insertions(+), 9 deletions(-) diff --git a/apps/pkcs12.c b/apps/pkcs12.c index d8e56fbf90..8280676cb3 100644 --- a/apps/pkcs12.c +++ b/apps/pkcs12.c @@ -91,7 +91,7 @@ const OPTIONS pkcs12_options[] = { {"keypbe", OPT_KEYPBE, 's', "Private key PBE algorithm (default 3DES)"}, {"rand", OPT_RAND, 's', "Load the file(s) into the random number generator"}, - {"inkey", OPT_INKEY, '<', "Private key if not infile"}, + {"inkey", OPT_INKEY, 's', "Private key if not infile"}, {"certfile", OPT_CERTFILE, '<', "Load certs from file"}, {"name", OPT_NAME, 's', "Use name as friendly name"}, {"CSP", OPT_CSP, 's', "Microsoft CSP name"}, diff --git a/apps/smime.c b/apps/smime.c index dbafd0f62d..abc139e807 100644 --- a/apps/smime.c +++ b/apps/smime.c @@ -70,7 +70,7 @@ const OPTIONS smime_options[] = { {"recip", OPT_RECIP, '<', "Recipient certificate file for decryption"}, {"in", OPT_IN, '<', "Input file"}, {"inform", OPT_INFORM, 'c', "Input format SMIME (default), PEM or DER"}, - {"inkey", OPT_INKEY, '<', + {"inkey", OPT_INKEY, 's', "Input private key (if not signer or recipient)"}, {"keyform", OPT_KEYFORM, 'f', "Input private key format (PEM or ENGINE)"}, {"out", OPT_OUT, '>', "Output file"}, diff --git a/apps/ts.c b/apps/ts.c index e816c32a1f..f4bd7f6857 100644 --- a/apps/ts.c +++ b/apps/ts.c @@ -106,7 +106,7 @@ const OPTIONS ts_options[] = { {"reply", OPT_REPLY, '-', "Generate a TS reply"}, {"queryfile", OPT_QUERYFILE, '<', "File containing a TS query"}, {"passin", OPT_PASSIN, 's', "Input file pass phrase source"}, - {"inkey", OPT_INKEY, '<', "File with private key for reply"}, + {"inkey", OPT_INKEY, 's', "File with private key for reply"}, {"signer", OPT_SIGNER, 's', "Signer certificate file"}, {"chain", OPT_CHAIN, '<', "File with signer CA chain"}, {"verify", OPT_VERIFY, '-', "Verify a TS response"}, diff --git a/doc/man1/pkcs12.pod b/doc/man1/pkcs12.pod index 80373f2034..a40ae7f04f 100644 --- a/doc/man1/pkcs12.pod +++ b/doc/man1/pkcs12.pod @@ -10,7 +10,7 @@ B B [B<-help>] [B<-export>] [B<-chain>] -[B<-inkey filename>] +[B<-inkey file_or_id>] [B<-certfile filename>] [B<-name name>] [B<-caname name>] @@ -177,10 +177,12 @@ default. They must all be in PEM format. The order doesn't matter but one private key and its corresponding certificate should be present. If additional certificates are present they will also be included in the PKCS#12 file. -=item B<-inkey filename> +=item B<-inkey file_or_id> File to read private key from. If not present then a private key must be present in the input file. +If no engine is used, the argument is taken as a file; if an engine is +specified, the argument is given to the engine as a key identifier. =item B<-name friendlyname> diff --git a/doc/man1/smime.pod b/doc/man1/smime.pod index 7cae26fa84..7df780f5e0 100644 --- a/doc/man1/smime.pod +++ b/doc/man1/smime.pod @@ -54,7 +54,7 @@ B B [B<-recip file>] [B<-inform SMIME|PEM|DER>] [B<-passin arg>] -[B<-inkey file>] +[B<-inkey file_or_id>] [B<-out file>] [B<-outform SMIME|PEM|DER>] [B<-content file>] @@ -280,13 +280,15 @@ verification was successful. The recipients certificate when decrypting a message. This certificate must match one of the recipients of the message or an error occurs. -=item B<-inkey file> +=item B<-inkey file_or_id> The private key to use when signing or decrypting. This must match the corresponding certificate. If this option is not specified then the private key must be included in the certificate file specified with the B<-recip> or B<-signer> file. When signing this option can be used multiple times to specify successive keys. +If no engine is used, the argument is taken as a file; if an engine is +specified, the argument is given to the engine as a key identifier. =item B<-passin arg> diff --git a/doc/man1/ts.pod b/doc/man1/ts.pod index d469b23196..c04a623785 100644 --- a/doc/man1/ts.pod +++ b/doc/man1/ts.pod @@ -27,7 +27,7 @@ B<-reply> [B<-queryfile> request.tsq] [B<-passin> password_src] [B<-signer> tsa_cert.pem] -[B<-inkey> private.pem] +[B<-inkey> file_or_id] [B<-sha1|-sha224|-sha256|-sha384|-sha512>] [B<-chain> certs_file.pem] [B<-tspolicy> object_id] @@ -243,10 +243,12 @@ timeStamping. The extended key usage must also be critical, otherwise the certificate is going to be refused. Overrides the B variable of the config file. (Optional) -=item B<-inkey> private.pem +=item B<-inkey> file_or_id The signer private key of the TSA in PEM format. Overrides the B config file option. (Optional) +If no engine is used, the argument is taken as a file; if an engine is +specified, the argument is given to the engine as a key identifier. =item B<-sha1|-sha224|-sha256|-sha384|-sha512> -- 2.25.1