Sets the parameters in the OpenPGP provider.
This contains a list of all the parameters of your OpenPGP provider. Please refer to the documentation provided with the OpenPGP provider for the parameters required.
Each parameter should be listed on a separate line by itself. The parameters exist in name/value pairs separated by an '=' sign.
The following is an example of several OpenPGP parameters that may exist for this property:
gpg-path=C:\Program Files\GNU\GnuPg\gpg.exe homedir=C:\myhomedir passphrase=testpgp signature=nondetached
The OpenPGP pipeline component does not by itself implement OpenPGP, instead it uses the provider pattern to interface with external cryptography libraries. An OpenPGP provider is a simple module that allows the adapter to offload OpenPGP operations to the OpenPGP software of your choice. The interface is designed to be generic in its ability to include various OpenPGP software. We include an OpenPGP provider implementation for GnuPG which may be used as a reference to implement other providers.
An OpenPGP provider is simply a class called "nsoftwarePGPProvider" that should have the following
methods. The adapter uses reflection to access the methods of the provider.
public void SetParam(string name,string value); public byte Encrypt(byte data); public byte Decrypt(byte data); public byte Sign(byte data); public byte EncryptAndSign(byte data);The PGPParams property is used to specify the parameters required by the OpenPGP provider to perform the OpenPGP operation. Although the parameters needed may vary in different providers, we expect the following set to be necessary. The referenced GnuPG provider interprets the following parameters.
NOTE: Decrypt will perform decrypt and/or verify operations.
|gpg-path||The path to the OpenPGP executable for the desired implementation. This parameter is not applicable when PGPProviderType is set to ptInternal.|
|homedir||The directory containing the public keyring, secret keyring and trust database. Please note this defaults to the application preferences directory of the user, hence if the GNUPG provider is being used from a ASP.NET application, homedir should be specified.|
|passphrase||The passphrase to access the secret keys in the secret-keyring.|
|userid||The identifier used to identify a secret key within the secret-keyring.|
|recipient-userid||The identifier used to identify a public key within the public keyring.|
|recipient-userid[i]||An alternative to recipient-userid that allows for multiple recipients to be specified. Each key would be specified with a different index. For example: recipient-userid, recipient-userid, etc.|
|signature||Whether or not the signature is "detached" or "nondetached". The default is "nondetached", which MUST be the value when using the OpenPGP pipeline component.|
The following PGPParams may be set when PGPProviderType is set to ptInternal
|compressionmethod||Specifies which compression method is used when generating output. Possible values are:
|encryptingalgorithm||Specifies the encryption algorithm used when encrypting. Possible values are:
|signingalgorithm||Specifies the signature hash algorithm used when signing. Possible values are:
|autoselectdsasignaturehashalgorithm||When set to True the adapter will select the preferred algorithms specified by the key. The default value is False.|
The pipeline component expects the encryption and signing to return an ASCII armored output. Note: GnuPG is the Free Software Foundation's implementation of OpenPGP.
GnuPG is not included with this package, so you should download the latest version from http://www.gnupg.org. You might use GnuPG (or other software) to import your trading partners' public keys, and to import or generate a private key for yourself. These operations are outside the scope of this software, so please see the GnuPG documentation for details.