mirror of https://github.com/openssl/openssl.git
				
				
				
			Add documentation for new smime options.
This commit is contained in:
		
							parent
							
								
									86bdc0a3ee
								
							
						
					
					
						commit
						d884c5bad1
					
				|  | @ -10,6 +10,7 @@ B<openssl> B<smime> | |||
| [B<-encrypt>] | ||||
| [B<-decrypt>] | ||||
| [B<-sign>] | ||||
| [B<-resign>] | ||||
| [B<-verify>] | ||||
| [B<-pk7out>] | ||||
| [B<-des>] | ||||
|  | @ -38,6 +39,7 @@ B<openssl> B<smime> | |||
| [B<-subject s>] | ||||
| [B<-text>] | ||||
| [B<-rand file(s)>] | ||||
| [B<-md digest>] | ||||
| [cert.pem]... | ||||
| 
 | ||||
| =head1 DESCRIPTION | ||||
|  | @ -78,6 +80,10 @@ the signed data. Both clear text and opaque signing is supported. | |||
| 
 | ||||
| takes an input message and writes out a PEM encoded PKCS#7 structure. | ||||
| 
 | ||||
| =item B<-resign> | ||||
| 
 | ||||
| resign a message: take an existing message and one or more new signers. | ||||
| 
 | ||||
| =item B<-in filename> | ||||
| 
 | ||||
| the input message to be encrypted or signed or the MIME message to | ||||
|  | @ -132,11 +138,20 @@ B<-verify>. This directory must be a standard certificate directory: that | |||
| is a hash of each subject name (using B<x509 -hash>) should be linked | ||||
| to each certificate. | ||||
| 
 | ||||
| =item B<-md digest> | ||||
| 
 | ||||
| digest algorithm to use when signing or resigning. If not present then the | ||||
| default digest algorithm for the signing key will be used (usually SHA1). | ||||
| 
 | ||||
| =item B<-des -des3 -rc2-40 -rc2-64 -rc2-128 -aes128 -aes192 -aes256 -camellia128 -camellia192 -camellia256> | ||||
| 
 | ||||
| the encryption algorithm to use. DES (56 bits), triple DES (168 bits), | ||||
| 40, 64 or 128 bit RC2, 128, 192 or 256 bit AES, or 128, 192 or 256 bit Camellia respectively.  If not | ||||
| specified 40 bit RC2 is used. Only used with B<-encrypt>. | ||||
| the encryption algorithm to use. DES (56 bits), triple DES (168 bits), 40, 64 | ||||
| or 128 bit RC2, 128, 192 or 256 bit AES, or 128, 192 or 256 bit Camellia | ||||
| respectively. Any other cipher name (as recognized by the | ||||
| EVP_get_cipherbyname() function) can also be used preceded by a dash, for  | ||||
| example B<-aes_128_cbc>. | ||||
| 
 | ||||
| If not specified 40 bit RC2 is used. Only used with B<-encrypt>. | ||||
| 
 | ||||
| =item B<-nointern> | ||||
| 
 | ||||
|  | @ -193,9 +208,10 @@ the signers certificates. The certificates should be in PEM format. | |||
| 
 | ||||
| =item B<-signer file> | ||||
| 
 | ||||
| the signers certificate when signing a message. If a message is | ||||
| being verified then the signers certificates will be written to this | ||||
| file if the verification was successful. | ||||
| a signing certificate when signing or resigning a message, this option can be | ||||
| used multiple times if more than one signer is required. If a message is being | ||||
| verified then the signers certificates will be written to this file if the | ||||
| verification was successful. | ||||
| 
 | ||||
| =item B<-recip file> | ||||
| 
 | ||||
|  | @ -207,7 +223,8 @@ must match one of the recipients of the message or an error occurs. | |||
| 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. | ||||
| the B<-recip> or B<-signer> file. When signing this option can be used | ||||
| multiple times to specify successive keys. | ||||
| 
 | ||||
| =item B<-passin arg> | ||||
| 
 | ||||
|  | @ -261,6 +278,10 @@ The options B<-encrypt> and B<-decrypt> reflect common usage in S/MIME | |||
| clients. Strictly speaking these process PKCS#7 enveloped data: PKCS#7 | ||||
| encrypted data is used for other purposes. | ||||
| 
 | ||||
| The B<-resign> option uses an existing message digest when adding a new | ||||
| signer. This means that attributes must be present in at least one existing | ||||
| signer using the same message digest or this operation will fail. | ||||
| 
 | ||||
| =head1 EXIT CODES | ||||
| 
 | ||||
| =over 4 | ||||
|  | @ -300,7 +321,7 @@ Create a cleartext signed message: | |||
|  openssl smime -sign -in message.txt -text -out mail.msg \ | ||||
| 	-signer mycert.pem | ||||
| 
 | ||||
| Create and opaque signed message | ||||
| Create an opaque signed message | ||||
| 
 | ||||
|  openssl smime -sign -in message.txt -text -out mail.msg -nodetach \ | ||||
| 	-signer mycert.pem | ||||
|  | @ -311,6 +332,11 @@ read the private key from another file: | |||
|  openssl smime -sign -in in.txt -text -out mail.msg \ | ||||
| 	-signer mycert.pem -inkey mykey.pem -certfile mycerts.pem | ||||
| 
 | ||||
| Create a signed message with two signers: | ||||
| 
 | ||||
|  openssl smime -sign -in message.txt -text -out mail.msg \ | ||||
| 	-signer mycert.pem -signer othercert.pem | ||||
| 
 | ||||
| Send a signed message under Unix directly to sendmail, including headers: | ||||
| 
 | ||||
|  openssl smime -sign -in in.txt -text -signer mycert.pem \ | ||||
|  | @ -334,8 +360,8 @@ Sign and encrypt mail: | |||
| 	-from steve@openssl.org -to someone@somewhere \ | ||||
| 	-subject "Signed and Encrypted message" -des3 user.pem | ||||
| 
 | ||||
| Note: the encryption command does not include the B<-text> option because the message | ||||
| being encrypted already has MIME headers. | ||||
| Note: the encryption command does not include the B<-text> option because the | ||||
| message being encrypted already has MIME headers. | ||||
| 
 | ||||
| Decrypt mail: | ||||
| 
 | ||||
|  | @ -361,16 +387,22 @@ Create an encrypted message using 128 bit Camellia: | |||
| 
 | ||||
|  openssl smime -encrypt -in plain.txt -camellia128 -out mail.msg cert.pem | ||||
| 
 | ||||
| Add a signer to an existing message: | ||||
| 
 | ||||
|  openssl smime -resign -in mail.msg -signer newsign.pem -out mail2.msg | ||||
| 
 | ||||
| =head1 BUGS | ||||
| 
 | ||||
| The MIME parser isn't very clever: it seems to handle most messages that I've thrown | ||||
| at it but it may choke on others. | ||||
| The MIME parser isn't very clever: it seems to handle most messages that I've | ||||
| thrown at it but it may choke on others. | ||||
| 
 | ||||
| The code currently will only write out the signer's certificate to a file: if the | ||||
| signer has a separate encryption certificate this must be manually extracted. There | ||||
| should be some heuristic that determines the correct encryption certificate. | ||||
| The code currently will only write out the signer's certificate to a file: if | ||||
| the signer has a separate encryption certificate this must be manually | ||||
| extracted. There should be some heuristic that determines the correct | ||||
| encryption certificate. | ||||
| 
 | ||||
| Ideally a database should be maintained of a certificates for each email address. | ||||
| Ideally a database should be maintained of a certificates for each email | ||||
| address. | ||||
| 
 | ||||
| The code doesn't currently take note of the permitted symmetric encryption | ||||
| algorithms as supplied in the SMIMECapabilities signed attribute. this means the | ||||
|  | @ -382,4 +414,10 @@ No revocation checking is done on the signer's certificate. | |||
| The current code can only handle S/MIME v2 messages, the more complex S/MIME v3 | ||||
| structures may cause parsing errors. | ||||
| 
 | ||||
| =head1 HISTORY | ||||
| 
 | ||||
| The use of multiple B<-signer> options and the B<-resign> command were first | ||||
| added in OpenSSL 0.9.9 | ||||
| 
 | ||||
| 
 | ||||
| =cut | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue