THIS WORKS. Any idea why? What is the negative interaction between the
HexDecoder and StringSource in the previous cases?
{ // BER Decode Private Key
CryptoPP::HexDecoder decoder;
decoder.Put( (byte*)prvkey.c_str(), prvkey.size() );
decoder.MessageEnd();
temp1.AccessKey().Load( decoder );
std::cout << "Dumping Public Key..." << std::endl;
DumpPublicKey( temp1 );
}
Jeff
Jeffrey Walton wrote:
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 )
)
);
}
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---