Hi Wei,

Here are the details... b = '3': This is the first byte of the string or file.

// asn.cpp
void BERGeneralDecoder::Init(byte asnTag)
   byte b;
   if (!m_inQueue.Get(b) || b != asnTag)
      BERDecodeError(); <=== Blow Up, b = '3', asnTag = '0'

   if (!BERLengthDecode(m_inQueue, m_length, m_definiteLength))
      BERDecodeError();

m_length = 14757... (20 decimal digits)
m_definiteLength = true

m_length = 14757... (20 decimal digits)
m_definiteLength = true

Jeff

{ // Broke
  temp2.AccessKey().Load(
     CryptoPP::HexDecoder(
        new CryptoPP::StringSource( pubkey, true )
     )
  );
}

{ // Broke
  temp2.AccessKey().Load(
     CryptoPP::HexDecoder(
        new CryptoPP::FileSource( "rsa400pb.dat", true )
     )
  );
}

On 1/3/07, Jeffrey Walton <[EMAIL PROTECTED]> wrote:

Hi Wei,

I confirmed this. No asserts for me - the memory arena didn't appeare
trashed. The following ends up in a catch block. I had to put the
HexEncoder on the stack... And I reused it with a call to MessageEnd().
Is this correct usage?

Before I put up sample code, I want to make sure it is broken, and not
something on my end.

Jeff

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Crypto++ 
Users" group.
To post to this group, send email to [EMAIL PROTECTED]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cryptopp-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to