=== Sign

Puts a *server-side* SMIME signature on a message.

It is a concrete subclass of Sign, with very few modifications to it,
to specialize for SMIME.

Handles the following init parameters:

* <keyHolderClass>: Sets the class of the KeyHolder object that will handle the cryptography functions,
 for example org.apache.james.security.SMIMEKeyHolder for SMIME.
* <debug>: if *true* some useful information is logged.
 The default is *false*.
* <keyStoreFileName>: the {@link java.security.KeyStore} full file name.
* <keyStorePassword>: the *KeyStore* password.
If given, it is used to check the integrity of the keystore data,
otherwise, if null, the integrity of the keystore is not checked.
* <keyAlias>: the alias name to use to search the Key using {@link java.security.KeyStore#getKey}.
 The default is to look for the first and only alias in the keystore;
 if zero or more than one is found a {@link java.security.KeyStoreException} is thrown.
* <keyAliasPassword>: the alias password. The default is to use the *KeyStore* password.
 At least one of the passwords must be provided.
* <keyStoreType>: the type of the keystore. The default will use {@link java.security.KeyStore#getDefaultType}.
* <postmasterSigns>: if *true* the message will be signed even if the sender is the Postmaster. The default is *true*.
* <rebuildFrom>: If *true* will modify the "From:" header. The default is *true*.
* <signerName>: the name of the signer to be shown in the explanation text. The default is to use the "CN="
property of the signing certificate.
* <explanationText>. There is a default explanation string template in English, displaying
also all the headers of the original message.