Ho did you make out on this?

On Friday, March 6, 2015 at 9:16:42 AM UTC-5, [email protected] wrote:
>
> I posted the same question on StackOverflow but it might be Cryptopp 
> specific issue:Enter code here.
>
> http://stackoverflow.com/questions/28900187/android5-0-with-artandroid-runtime-segfaults-on-cryptos-rsapublickey-load
>
>
> We have implemented a small wrapper for Cryptopp to exchange keys between 
> iOS and Android(JNI). Shared code works on iOS and pre-ART android devices. 
> Supposedly ART and its garbage collector is a lot stricter now.
>
> It might be important to point out that set private key function succeeds 
> on both Dalvik and ART.
>
>
> Code:
> --> setting public key :
>    
>  jboolean *isCopy;
>     //get bytes from jbytearray
>     jbyte* ba = (jbyte *)env->GetByteArrayElements( byteArray, isCopy);
>     
>     //load bytearray to crypto bytequeue
>     ByteQueue queue2;
>     
>     queue2.Put2((byte*)ba, 1000, 0, true);
>     
>     //build public key
>     AutoSeededRandomPool rnd;
>     RSA::PublicKey publicKey;
>     publicKey.Load(*queue2);  //<-------- CRASH
>
>     
> --> setting private key
>    
>  jboolean *isCopy;
>     jbyte* ba = (jbyte *)env->GetByteArrayElements( byteArray, isCopy);
>     
>     //load bytearray to bytequeue
>     ByteQueue queue2;
>     queue2.Put2((byte*)ba, 3072, 0, true);
>     
>     //fill up the key
>     RSA::PrivateKey privateKey;
>     privateKey.Load(queue2);
>
>
> Stack trace:
>      
>     
>  backtrace:
>          #00 pc 00027e6c  <project_name>/lib/arm/libstlport_shared.so
>          #01 pc 00027e79  <project_name>/lib/arm/libstlport_shared.so
>          #02 pc 00027efb  <project_name>/lib/arm/libstlport_shared.so 
> (std::terminate()+6)
>          #03 pc 000273d3  <project_name>/lib/arm/libstlport_shared.so
>          #04 pc 000268c9  <project_name>/lib/arm/libstlport_shared.so
>          #05 pc 0002698b  <project_name>/lib/arm/libstlport_shared.so 
> (__cxa_throw+34)
>          #06 pc 001b3ce4  <project_name>/lib/arm/libcryptopp.so 
> (CryptoPP::BERDecodeError()+128)
>          #07 pc 001b1598  <project_name>/lib/arm/libcryptopp.so 
> (CryptoPP::BERGeneralDecoder::Init(unsigned char)+56)
>          #08 pc 001b1638  <project_name>/lib/arm/libcryptopp.so 
> (CryptoPP::BERGeneralDecoder::BERGeneralDecoder(CryptoPP::BufferedTransformation&,
>  
> unsigned char)+104)
>          #09 pc 0027697c  <project_name>/lib/arm/libcryptopp.so 
> (CryptoPP::Integer::BERDecode(CryptoPP::BufferedTransformation&)+20)
>          #10 pc 002aec7c  <project_name>/lib/arm/libcryptopp.so 
> (CryptoPP::RSAFunction::BERDecodePublicKey(CryptoPP::BufferedTransformation&, 
> bool, unsigned int)+64)
>          #11 pc 001b20e0  <project_name>/lib/arm/libcryptopp.so 
> (CryptoPP::X509PublicKey::BERDecode(CryptoPP::BufferedTransformation&)+264)
>          #12 pc 00014a0b  <project_name>/lib/arm/libsecurity.so 
> (CryptoPP::ASN1CryptoMaterial<CryptoPP::PublicKey>::Load(CryptoPP::BufferedTransformation&)+6)
>
>
> Might be worth mentioning that new (mostly) Google devices (Nexus 4,5,7) 
> use ART by default now.
>
> Please advice!
>

-- 
-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to