[prev in list] [next in list] [prev in thread] [next in thread] 

List:       bouncycastle-crypto-dev
Subject:    Re: [dev-crypto] Read a PGPPublicKey as byte array
From:       gerarda <gerard.akse () group2000 ! eu>
Date:       2007-06-19 7:35:31
Message-ID: 11189897.post () talk ! nabble ! com
[Download RAW message or body]


Problem solved, thanks very much Pete!

Cheers,

Gerard



Peter Dettman wrote:
> 
> Hi Gerard,
> 
> The "=v8Kj" characters at the end are the checksum (part of the 
> armoring), not part of the Base64 encoded key data.
> If you just remove them from the end of 'testPubKey', it should all work 
> fine.
> 
> Cheers,
> Pete.
> 
> gerarda wrote:
> > I would like to read a PGP public key as byte array. I already read such
> > a
> > key from a file succesfully, so i'm sure the actual key data is valid.
> > The
> > public key file looks like this:
> > 
> > -----BEGIN PGP PUBLIC KEY BLOCK-----
> > Version: GnuPG v1.0.6-2 (MingW32)
> > Comment: For info see http://www.gnupg.org
> > 
> > mQGiBD2TJxARBACFJ8EZabFNjzJ32FRDIAkiQ5it2+GYI4KttshfW33JYplUQxci
> > K21tFBwqW9CM0nMcpkjqYksI5uZNqWIBTshIhBW6HFZ+C3nOjVv4oUpqEaSuDztc
> > rTshXBrYmuAaWXvQxMfzcjCZhGcCzUascRt5BLzY/ZbwEhN1fbKIV10FWwCg0+8Z
> > 9xQzPqyAyKXNGlqMujLjQHMD/AsPrZIWJiIijCnchEQUrCONyN+WCmg/SqIQ39sQ
> > gjwk5UloQihOZ53M6sJEYmMlQrMmOFX4hWEeVFDnTpYZTyjRAdODFHmsgCeRTwGE
> > Fk6jXhgR228cdMAsr3gq63N12KoI2DWrKTDbLXTfJIgs2FmVTy2UAvggevTlv3XO
> > xhaVA/kBzEfLLIXOzOy3s4SEroN9Jsdo4Qk7PxNUTu1iNZLuIPALnMcgzz3Ho0zt
> > qNqKKGgrahvNnnqhQb1OBwsZHv0qBys8wcvMJZPABMeMlhvm6JN67qtf2SKTW4i0
> > c9lsC4QiaLQhzK93sTdGqFEC6Wln4UXiZ1CACTEm9VC//vCnVLQ1bGVtZiAxMjM0
> > NTY3ODkxMjM0NTYgPDEyMzQ1Njc4OTEyMzQ1NkBsZW1mLWRvbWFpbi5jaD6IXQQT
> > EQIAHQUCPZMnEAUJAeEzgAULBwoDBAMVAwIDFgIBAheAAAoJEDdm1THdAP9HcsUA
> > n3sgD+vP9AD4AFwTv8cCAOVCECFcAJ4tyylVFCmu6TGcRxG72YhWu0SvULkBDQQ9
> > kycTEAQAkmTFWVuYKU/GgvNWhb31nuDA2gDDTvUguAHVS4M8zSYMh7i+ykGXYjGc
> > t9LziQ3unkZndTqLfYSZYGOBTSnjmaP73MYC2j+zN9v1QcHKfEKw8U7zXC7kP92W
> > NQMIohWCahhUTlSOYdoavgKxmaIegSvCd+f7t/a2UFRvzNv6GBsAAwYD/iX6dSGs
> > 6v0pVOVCRQENz24sBjWLmmqCEygqT+YCPdMe+qoNH/f9bkhQyVXZnMQpHV7CLQaC
> > wFWYEwH2gaiJVw/fJpecx6K0/3UP134JDPk+s9pnzdELVt+KrlEqQmcax+E5kHWT
> > OAxh9Td7eZwY5QWh3n2W7GM/s1DE9Z580PqBiEwEGBECAAwFAj2TJxMFCQHhM4AA
> > CgkQN2bVMd0A/0enIwCfaMw6ZUSuhx9Xl+vwjxY44AI/tKkAoMVOO/HdS/NtmvRS
> > pswVOSAX/Sv9
> > =v8Kj
> > -----END PGP PUBLIC KEY BLOCK-----
> > 
> > Now i've added this as byte array to my code:
> > 
> > 
> > 		byte[] testPubKey =
> > 			Base64.decode(				
> > "mQGiBD2TJxARBACFJ8EZabFNjzJ32FRDIAkiQ5it2+GYI4KttshfW33JYplUQxci"
> > 	+"K21tFBwqW9CM0nMcpkjqYksI5uZNqWIBTshIhBW6HFZ+C3nOjVv4oUpqEaSuDztc"
> > 	+"rTshXBrYmuAaWXvQxMfzcjCZhGcCzUascRt5BLzY/ZbwEhN1fbKIV10FWwCg0+8Z"
> > 	+"9xQzPqyAyKXNGlqMujLjQHMD/AsPrZIWJiIijCnchEQUrCONyN+WCmg/SqIQ39sQ"
> > 	+"gjwk5UloQihOZ53M6sJEYmMlQrMmOFX4hWEeVFDnTpYZTyjRAdODFHmsgCeRTwGE"
> > 	+"Fk6jXhgR228cdMAsr3gq63N12KoI2DWrKTDbLXTfJIgs2FmVTy2UAvggevTlv3XO"
> > 	+"xhaVA/kBzEfLLIXOzOy3s4SEroN9Jsdo4Qk7PxNUTu1iNZLuIPALnMcgzz3Ho0zt"
> > 	+"qNqKKGgrahvNnnqhQb1OBwsZHv0qBys8wcvMJZPABMeMlhvm6JN67qtf2SKTW4i0"
> > 	+"c9lsC4QiaLQhzK93sTdGqFEC6Wln4UXiZ1CACTEm9VC//vCnVLQ1bGVtZiAxMjM0"
> > 	+"NTY3ODkxMjM0NTYgPDEyMzQ1Njc4OTEyMzQ1NkBsZW1mLWRvbWFpbi5jaD6IXQQT"
> > 	+"EQIAHQUCPZMnEAUJAeEzgAULBwoDBAMVAwIDFgIBAheAAAoJEDdm1THdAP9HcsUA"
> > 	+"n3sgD+vP9AD4AFwTv8cCAOVCECFcAJ4tyylVFCmu6TGcRxG72YhWu0SvULkBDQQ9"
> > 	+"kycTEAQAkmTFWVuYKU/GgvNWhb31nuDA2gDDTvUguAHVS4M8zSYMh7i+ykGXYjGc"
> > 	+"t9LziQ3unkZndTqLfYSZYGOBTSnjmaP73MYC2j+zN9v1QcHKfEKw8U7zXC7kP92W"
> > 	+"NQMIohWCahhUTlSOYdoavgKxmaIegSvCd+f7t/a2UFRvzNv6GBsAAwYD/iX6dSGs"
> > 	+"6v0pVOVCRQENz24sBjWLmmqCEygqT+YCPdMe+qoNH/f9bkhQyVXZnMQpHV7CLQaC"		
> > +"wFWYEwH2gaiJVw/fJpecx6K0/3UP134JDPk+s9pnzdELVt+KrlEqQmcax+E5kHWT"	
> > +"OAxh9Td7eZwY5QWh3n2W7GM/s1DE9Z580PqBiEwEGBECAAwFAj2TJxMFCQHhM4AA"	
> > +"CgkQN2bVMd0A/0enIwCfaMw6ZUSuhx9Xl+vwjxY44AI/tKkAoMVOO/HdS/NtmvRS"
> > 	+"pswVOSAX/Sv9"
> > 	+"=v8Kj");
> > 
> > Now I want to create a PGPPublicKey object from this data.
> > 
> > One of the possible ways would be like this(i've tried some other
> > implementations from the examples as well):
> > 
> > PGPObjectFactory    pgpFact = new PGPObjectFactory(testPubKey);
> > 
> > PGPPublicKeyRing        pgpPub = (PGPPublicKeyRing)pgpFact.nextObject();
> > 
> > PGPPublicKey alicesPgpKey = pgpPub.getPublicKey();
> > 
> > But I get the following exception:
> > 
> > java.lang.IllegalArgumentException: passed in key not an encryption key
> > 
> > An alternative would be to create an inputstream from the bytearray and
> > use
> > it as if it were a fileinputstream.
> > 
> > InputStream is = new ByteArrayInputStream(testPubKey);
> > 
> > If i do this i get the following exception on the creation of the public
> > keyring:
> > 
> > java.io.IOException: unknown object in stream 0
> > 
> > 
> > Any suggestions??
> > 
> > Thanks in advance for your help!
> > 
> > 
> > 
> > 
> > 
> 
> 
> 
> 

-- 
View this message in context: \
http://www.nabble.com/Read-a-PGPPublicKey-as-byte-array-tf3939662.html#a11189897 Sent \
from the Bouncy Castle - Dev mailing list archive at Nabble.com.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic