[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