Hi.
I am trying to decrypt message which was encrypted by bouncycastle openpgp.
I have an encryption method on server side [1]
It produces for plain message i.e. "1234" something like this:
-----BEGIN PGP MESSAGE-----
Version: BCPG v1.51
hQIMAwWLGhcjsfuUAQ/9E42SI3kvwvSQd+icuYvzoTSHSHlZ6fPejFt5p0+4r297
mho8wAw+/hB6V9tvIj88YzrX255pEBDMQzVrWLqqFO0lMWijPj+wu8K2SXq4kK3k
zohh3teCq9H2u7uhmCgXA0hFf83SyGrPNQ8CBBtn1o/+pagoCWjvvsplO/yqnDVD
z3HTMsQUFQ/HouF67Dqst9VkojFR1pFIQqdr2c4Eci4OnSs71iZBDpIq1cYmmj86
KnOdBWinLTuDT2XnzbmdrpDo91KrsG488RjhaWJhpEsDxJ3tHYkOpU3xLcDcKgAC
pDDf8MkDIcK6ukU7ULlvnZFe4FrsoCLL26+JJ86r5ErgdzY8Rt+bIfJSP8Dr1/m8
95wQYYjYi6H5k/Yf/fp56OySrlDrPFqTgURyLjlWiGGx1bQLYcbQz/jk8XtIKjwl
SGfll3yZ9G9cS97Zoyyo0n6LC8uwwGnhQ7R81v4ECPRJbdN+izszJ7PUB4eMrXT7
64yEtmD3nfINtJE3HkeZvS/gRcE2h20vqZsXTvvSuDg7Gj3rdExiB5b3OBlGJjGT
XdViBGwdjGO3uldEEmJ8tt43lPNaoTj273bzTEhHpOZBz6hTjIiO+nfuMeUN4jPD
83V4oHEArXvq242LzwZ8FCmUy1WYegWGfA6pO4A/rgIFivE/cE6nABrsHgYn2ovS
LQHrj6I30yyg/9eKEcUnOdzs
=uxmv
-----END PGP MESSAGE-----
I am struggling with decryption that PGP MESSAGE, cause I get 'CFB decrypt:
invalid key'.
Currently, I have no idea where is the issue.
Any ideas?
S.
[1]
def encryptStringAsPGP(keyRing:
org.bouncycastle.openpgp.PGPSecretKeyRing, input: String): String = {
val cbOut: ByteArrayOutputStream = new ByteArrayOutputStream
val cPk: PGPEncryptedDataGenerator = new PGPEncryptedDataGenerator(new
JcePGPDataEncryptorBuilder(SymmetricKeyAlgorithmTags.AES_256)
.setSecureRandom(DefaultSecureRandom)
.setWithIntegrityPacket(true)
.setProvider(org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME))
val puK: PGPPublicKey = keyRing.getPublicKey
cPk.addMethod(new
JcePublicKeyKeyEncryptionMethodGenerator(puK).setProvider(BouncyCastleProvider.PROVIDER_NAME))
val cOut: OutputStream = cPk.open(new UncloseableOutputStream(cbOut),
input.length)
cOut.write(input.getBytes)
var bOut: ByteArrayOutputStream = new ByteArrayOutputStream
var aOut: ArmoredOutputStream = new ArmoredOutputStream(bOut)
bOut = new ByteArrayOutputStream
aOut = new ArmoredOutputStream(bOut)
aOut.write(cbOut.toByteArray)
aOut.close
bOut.close
cOut.close
bOut.toString
}
where DefaultSecureRandom = new SP800SecureRandomBuilder()
.setEntropyBitsRequired(DefaultSecurityStrength)
.setPersonalizationString(seedGenerator.generateSeed(DefaultSecurityStrength))
.buildHMAC(new HMac(new SHA256Digest()),
seedGenerator.generateSeed(DefaultSecurityStrength),
UserPredictionResistance)
_______________________________________________
http://openpgpjs.org
Subscribe/unsubscribe: http://list.openpgpjs.org