none
PGP file decryption

    Question

  • Hi All,
    I'm looking for an API to decrypt PGP encrypted files.
    I were using command line PGP program to do it. Sometimes it fails, so I decided to look for some other solutions.

    Another question would be if I could use MS CryptoAPI to decrypt PGP encrypted files?
    Any help appreciated.
    Thank you in advance.


    Tuesday, October 24, 2006 6:47 PM

Answers

  • You need some version of PGP, either the free or commercial version you are using. There is no API to my knowledge. Search online for PGP implementations and pick the one that is most convenient. As long as you have your key ring and your private key and the public key used for the message encyption you'll be fine.

    Unfortunately MS CryptoAPI will not work with PGP.

     

    Tuesday, October 24, 2006 7:23 PM
  • Hi Alex,
    I found a DLL called NSDPGP.DLL. A free program, tested it and worked very well.
    Thank you very much.
    Wednesday, October 25, 2006 12:40 AM

All replies

  • You need some version of PGP, either the free or commercial version you are using. There is no API to my knowledge. Search online for PGP implementations and pick the one that is most convenient. As long as you have your key ring and your private key and the public key used for the message encyption you'll be fine.

    Unfortunately MS CryptoAPI will not work with PGP.

     

    Tuesday, October 24, 2006 7:23 PM
  • Hi Alex,
    I found a DLL called NSDPGP.DLL. A free program, tested it and worked very well.
    Thank you very much.
    Wednesday, October 25, 2006 12:40 AM
  • I use this product http://www.eldos.com/sbb/ SecureBlackbox, If you decide to use the Component, I can post some code too. Hope this helps.
    Wednesday, October 25, 2006 3:38 AM
  •  

    I’m using SecureBlackbox(3rd party) PGP component into BTS 2006 R2.  Now am getting “Cannot modify Key” error.

    FYI:  I’m not modifying any key value.

     

    Let me get help...

     

    Thanks,

    Raja

    Tuesday, January 29, 2008 7:12 PM
  •  Vasim wrote:
    I use this product http://www.eldos.com/sbb/ SecureBlackbox, If you decide to use the Component, I can post some code too. Hope this helps.

     

    I would appreciate if you would post some code.  I have been looking at Eldos as well.  I have been having troubles getting even the most basic functions to work.  Example:

     

    oKeyRing = CREATEOBJECT("pgpbbox.ElPGPKeyringX")
    oKeyRing.loadFromFiles("s:\crypto\public.pkr","",.T.)

     

    The message displayed by the system is:
    OLE IDispatch exception code 0 from pgpbbox.ElPGPKeyringX: Failed to open file.

     

    The equivalent from VB works great. So - the key is there and is accessable to applications.

    I also have included the private key as parameter 2, rather than a blank.  Same error.

     

    There seems to be a lack of selection for good activex components that can do PGP.  The one that I thought would do great was from Xceed - but they only supported RSA w/o the PGP wrapper. 

     

    Thanks in advance for your help.

    Monday, February 11, 2008 5:09 PM
  • Sorry for the delay, here is the function I wrote (see below) that I use with Eldos PGP.

     

    I do not get your error, I noticed you are using public.pkr, hmmm, I always export one key for use, the public.pkr might contain multiple PGP keys, try to export and use just one, hope this helps.

     

    Code Snippet

    *=================================================================================================

    function pgpEncrypt

    lparameters tcInFile, tcOutFile, tcPGPKeyFile, tlUseNewFeatures, tlArmor

    local llOk as Boolean

    llOk = .T.

    try

    local loPGPLicense as "BaseBBox.ElSBLicenseManagerX"

    loPGPLicense = CreateObject("BaseBBox.ElSBLicenseManagerX")

    loPGPLicense.SetLicenseKey("Your License Key Here")

     

    local loPGPKeys as 'pgpbbox.ElPGPKeyringX'

    loPGPKeys = createobject('pgpbbox.ElPGPKeyringX')

    loPGPKeys.LoadFromFiles(tcPGPKeyFile,"",.T.)

     

    local loPGP as 'pgpbbox.ElPGPWriterX'

    loPGP = createobject('pgpbbox.ElPGPWriterX')

    loPGP.EncryptingKeys = loPGPKeys

    loPGP.UseNewFeatures = tlUseNewFeatures

    loPGP.Armor= tlArmor

    loPGP.UseOldPackets = .F.

    loPGP.Compress = .T.

     

    #DEFINE etPublicKey 0

    #DEFINE etPassphrase 1

    #DEFINE etBoth 2

     

    loPGP.EncryptionType= etPublicKey

    loPGP.Filename = justfname(tcInFile)

    loPGP.EncryptFile(tcInFile, tcOutFile)

    catch

    llOk = .F.

    Finally

    store null to loPGPKey,;

    loPGP,;

    loPGPLicense

    endtry

     

    return llOk

     

    endfunc

    *=================================================================================================

     

     

    Monday, March 24, 2008 5:46 AM
  •  

    Hay ,

     

    I need some help to use "DecryptPassword" functionality .

     

    I only have my privte key say "abc" and PGP file .

     

    i m using VS2005 and C# and its for win application.

     

    Thanks

    Kalia

    Wednesday, April 16, 2008 2:05 PM
  • Where did you find the NSDPGP.DLL program?
    Wednesday, March 31, 2010 3:10 PM
  • Check Below Link 

     

    http://www.planet-source-code.com/URLSEO/vb/scripts/ShowCode!asp/txtCodeId!1268/lngWid!5/anyname.htm

     

    http://www.nedcomp.nl/support/componenten/asp/nsdpgp_eol/readme.txt

     



    Please "Mark as Answer" if this post answered your question. :)

    Kalpesh Chhatrala | Software Developer | Rajkot | India

    Kalpesh's Blog
    Thursday, April 01, 2010 3:55 AM
    Answerer