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
>>
>

Reply via email to