1) load, verify, and set trust level (completely trust) client’s public PGP key,
2) set output stream to existing string “strOutputEverything”,
3) set output file to existing string “strOutputFileName” [this is to be an encrypted text file which we will ftp transfer],
4) actually encrypt and save the encrypted output file.

I have installed the components in my toolbox and references (to SecureBlackbox.PGP.dll and SecureBlackbox.dll) in my project, and am at step #1 above. The line:
“SBPGPKeys.TElPGPPublicKey.LoadFromFile("DMCHSAWW.asc")”
is giving me “Reference to a non-shared member requires an object reference.” error. Intellisense gives me the “SBPGPKeys” and “TElPGPPublicKey” items, but not the “LoadFromFile”. What am I doing wrong?

I have also tried setting the trust level of the key in the next line:
"SBPGPKeys.TElPGPPublicKey.TElPGPKeyTrust = SBPGPConstants.Unit.SB_PGP_SIGTRUST_COMPLETETRUST"
is giving me "'TElPGPKeyTrust' is not a member of 'SBPGPKeys.TElPGPPublicKey'".

I'm noticing that Intellisense is giving me the "TEl..." items (for Pascal?) instead of the "El..." items (for VB) that I see in the documentation. Have I added references to the wrong dll's?

2) set output stream to existing string “strOutputEverything”,
3) set output file to existing string “strOutputFileName” [this is to be an encrypted text file which we will ftp transfer],
4) actually encrypt and save the encrypted output file.

Please use TElPGPWriter class to protect (either encrypt, sign or both encrypt and sign) a message. In particular, use its Encrypt() or EncryptFile() method to encrypt data contained in a stream or a file, respectively.

Quote

The line:“SBPGPKeys.TElPGPPublicKey.LoadFromFile("DMCHSAWW.asc")”
is giving me “Reference to a non-shared member requires an object reference.” error.

Do not use TElPGPPublicKey.LoadFromXXX() methods. All the keys should be loaded using TElPGPKeyring.Load() method.

Quote

I'm noticing that Intellisense is giving me the "TEl..." items (for Pascal?) instead of the "El..." items (for VB) that I see in the documentation. Have I added references to the wrong dll's?

You did everything right. "ElXXX" is just an alias for "TElXXX", the classes are named in "TElXXX" way indeed.

The developer will answer about your trust-related questions a bit later.

Thank you for your prompt replies...I'm still having a problem with loading the keyring.
***********************************************************************
Both of these lines give me the same error "Overload resolution failed because no accessible 'Load' accepts this number of arguments."

TElPGPKeyring.Load("DMCHSAWW.asc")

SBPGPKeys.TElPGPKeyring.Load("DMCHSAWW.asc")
***********************************************************************
Both of these lines give me this error: "Reference to a non-shared member requires an object reference."

You are trying to call these methods without class member, i.e. you should at first create object of type TElPGPKeyring (like keyring = new TElPGPKeyring()), and only after that call keyring.Load("pubring.pkr", "secring.skr");

Well, OK...I have successfully (I think) encrypted our test file with the following code (please let me know if I'm missing any vital step..."signing" the file, or setting the trust level of the public key, setting the recipient name or id, whatever!):

Hi.
1) SBBKey.FindPublicKeyByEmailAddress("fxrunit@mellon.com", 0) is a function, that returns PGP key, so it's call in your code does nothing.
2) In your code (SSBPGPWriter.EncryptingKeys = SBBKey ) file will be encrypted to all keys, contained in keyring.
3) to sign data, you should use .EncryptAndSign method(), and load secret key with which you are signing.

Mykola:
Thank you for your reply. I then have a couple more follow up questions:
How do I specify a particular public key on my keyring to use in the encryption? How do I specify the recipient (or is this the same question)?

You can create another (empty) keyring, and add to it only the key which you wish to use, and set it to .EncryptingKey property:
Dim encrKeyring As New SBPGPKeys.TElPGPKeyring
encrKeyring.Add(SBBKey.PublicKeys[SBBKey.FindPublicKeyByEmailAddress(...)])

Also you can use property .Enabled of public keys and their subkeys (please refer documentation for the description).