I've never used a mailing list before, so I'm not sure if I'm creating a new thread each time, sorry.
Just wanted to say I updated my question: http://stackoverflow.com/questions/25468450/bouncycastle-c-sharp-publickey-different-than-gnupg On 9/24/14, Paul Meyer <pdmeye...@gmail.com> wrote: > Yes, I understand how to do that. If you read my question carefully, > you will realize I am trying to get it in STRING format! Something > that could be added to another application like GnuPG. I have a > PgpPublicKey object -> STRING format. I'm not sure why there are no > examples in string format because without that, it really can not be > used in another application. > > On 9/23/14, Anthony Bathgate <anthony.m.bathg...@rrd.com> wrote: >> Getting from the gpg keyring is easy. >> >> private PgpPublicKey GetPublicKey(String userId) >> { >> if (userId == null) >> throw new PgpException("No recipient was specified"); >> >> PgpPublicKeyRingBundle publicKeyRingBundle = new >> PgpPublicKeyRingBundle(new >> MemoryStream(File.ReadAllBytes(PublicKeyRingPath))); >> foreach (PgpPublicKeyRing keyRing in >> publicKeyRingBundle.GetKeyRings(userId)) >> { >> foreach (PgpPublicKey key in keyRing.GetPublicKeys()) >> { >> if (key.IsEncryptionKey) >> return key; >> } >> } >> return null; >> } >> >> Similar for a private key (but you need the password): >> private PgpPrivateKey GetPrivateKey(String userId, char[] passphrase) >> { >> if (userId == null) >> throw new PgpException("No User ID was specified"); >> >> >> PgpSecretKeyRingBundle privateKeyRingBundle = >> new >> PgpSecretKeyRingBundle(PgpUtilities.GetDecoderStream(new >> MemoryStream(File.ReadAllBytes(PrivateKeyRingPath)))); >> >> PgpPrivateKey privateKey = null; >> >> foreach (PgpSecretKeyRing keyRing in >> privateKeyRingBundle.GetKeyRings(userId)) >> { >> foreach (PgpSecretKey key in keyRing.GetSecretKeys()) >> { >> privateKey = key.ExtractPrivateKey(passphrase); >> >> if (privateKey != null) >> return privateKey; >> } >> } >> return null; >> } >> >> Have not yet worked out the 'adding' part, mostly for lack of time. At >> present, I just dump the key to a file and farm out to the gpg command >> line. The magic is probably somewhere in/around the KeyRingBundle >> classes, >> however. >> >> >> On Fri, Sep 19, 2014 at 9:59 AM, Paul Meyer <pdmeye...@gmail.com> wrote: >> >>> Hello, >>> >>> I'm relatively new to bouncy castle, so there may be something obvious >>> I'm missing. For my project I need to be able to get and add PGP >>> public keys to/from my RSA keyring file (generated by GnuPG) in string >>> format using ID as the reference. >>> >>> For the first step (getting a key), I've posted the code that I tried >>> here: >>> >>> http://stackoverflow.com/questions/25468450/bouncycastle-c-sharp-publickey-different-than-gnupg >>> >>> Can you help me with that? >>> >>> Thank you, >>> Paul >>> >>> >> >> >> -- >> _________________________________________________________ >> *Tony Bathgate | Developer 3, Digital Programming Group (formerly DSA) | >> RR >> Donnelley* >> 1905 Horseshoe Rd, Lancaster, PA 17602 >> Office: *717.676.5501* >> *anthony.m.bathg...@rrd.com <anthony.m.bathg...@rrd.com>* >> http://www.rrdonnelley.com >> >