msvcr71d.dll?  That looks like a debug version of the VC library to me.

Incidentally, I'm getting the same problem on VC8 (VC++2005 Express
Edition).  And I'm getting it even in release configuration.

-Kyle H

On 2/15/06, Ambarish Mitra <[EMAIL PROTECTED]> wrote:
>
> Your stack trace points to a release version of MS libraries. Please ensure
> that you run the release version of your program.
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Behalf Of Matthias
> Sent: Wednesday, February 15, 2006 4:24 PM
> To: openssl-users@openssl.org
> Subject: Re: function PEM_read_RSAPrivateKey not returning
>
>
> Hi again
>
> I downloaded from slproweb at 9. February 2006 and the file
> is called "Win32OpenSSL-v0.9.8a.exe". I didn't have any
> OpenSSL stuff on my computer before, so even no "old things"
> lieing around on the harddisc.
>
> If I run the program in VS .net 2003 v7.1.3088 with "Start F5"
> the program seems to "freeze" at PEM_read_RSAPrivateKey,
> consumes 100% usage of one CPU (I have a Hyperthreading so
> I see 50% CPU usage in task manager) and when I press
> "Break All" in the Debugger I get the following call stack:
>
> ---------- snip ----------
>
> msvcrt.dll!77c12b9f()
> ntdll.dll!7c9206eb()
> ntdll.dll!7c97d886()
> ntdll.dll!7c959d18()
> ntdll.dll!7c92b686()
> ntdll.dll!7c936a44()
> ntdll.dll!7c936abe()
> ntdll.dll!7c936abe()
> ntdll.dll!7c97cde9()
> ntdll.dll!7c97e0f0()
> ntdll.dll!7c97e0d4()
> ntdll.dll!7c92b5f4()
> ntdll.dll!7c92b686()
> ntdll.dll!7c936abe()
> ntdll.dll!7c97cde9()
> ntdll.dll!7c97e0f0()
> ntdll.dll!7c95a1f5()
> ntdll.dll!7c92b5f4()
> ntdll.dll!7c92b686()
> kernel32.dll!7c81cb8e()
> kernel32.dll!7c81cbcb()
> ntdll.dll!7c91e3ed()
> ntdll.dll!7c9232f8()
> kernel32.dll!7c81cb8e()
> kernel32.dll!7c81cbcb()
> msvcrt.dll!77c0f962()
> msvcrt.dll!77bfc3ce()
> libeay32.dll!1000101e()
> libeay32.dll!1000120c()
> libeay32.dll!1003f487()
> libeay32.dll!1003d627()
> libeay32.dll!10068404()
> msvcr71d.dll!_write_lk(int fh=1, const void * buf=0x00000fa0, unsigned
> int cnt=270647770)  Line 234 + 0x8      C
> msvcr71d.dll!_write(int fh=1244344, const void * buf=0x1021b45c,
> unsigned int cnt=1)  Line 87 + 0x9      C
> msvcr71d.dll!_unlock_fhandle(int fh=1244344)  Line 477  C
> 003e1fb8()
> msvcr71d.dll!_write(int fh=1244392, const void * buf=0x00000001,
> unsigned int cnt=270542996)  Line 87 + 0x9      C
> msvcr71d.dll!_flsbuf(int ch=271042648, _iobuf * str=0x1024755c)  Line
> 180 + 0x11      C
> msvcr71d.dll!fputc(int ch=10, _iobuf * str=0x1027c858)  Line 56 + 0x9   C
> msvcr71d.dll!_tsopen_lk(int * punlock_flag=0x0000000a, int *
> pfh=0x1027c858, const char * path=0x0012fdb8, int oflag=273198671, int
> shflag=1244426, int pmode=273199175)  Line 414 + 0xd    C
> msvcp71d.dll!std::_Fputc<char>(char _Byte='<STRANGEBOXHERE>', _iobuf *
> _File=0x1048b047)  Line 69 + 0xf        C++
> msvcp71d.dll!std::basic_filebuf<char,std::char_traits<char>
>  >::overflow(int _Meta=268693911)  Line 206 + 0x19      C++
> msvcrt.dll!77bffc5d()
> libeay32.dll!1003d861()
> libeay32.dll!1006a15a()
> libeay32.dll!1006a4d6()
> libeay32.dll!10068cf8()
> CryptoOpenSSLTest5.exe!main(int argc=1, char * * argv=0x003e5a40)  Line
> 82 + 0xf        C++
> CryptoOpenSSLTest5.exe!mainCRTStartup()  Line 398 + 0x11        C
> kernel32.dll!7c816d4f()
> ntdll.dll!7c925b4f()
> kernel32.dll!7c8399f3()
>
> ---------- snap ----------
>
> That "CryptoOpenSSLTest5.exe!main [...] Line 82" is the call of
> PEM_read_RSAPrivateKey. "<STRANGEBOXHERE>" is that strange box
> for undisplayable characters.
>
> Thanks for the help,
> Matthias
>
>
>
> Kyle Hamilton wrote:
>
> > One of the most important things about this is, "when did you obtain
> > the installer from slproweb.com"?  It's difficult to figure out if
> > it's older, or a problem in a very recent build, or what.
> >
> > Did you attach a debugger to the program and examine it to see what
> > might be looping?
> >
> > (In the meantime, I'm going to try this with VC++ 2005, 8.0).
> >
> > -Kyle H
> >
> > On 2/15/06, Matthias <[EMAIL PROTECTED]> wrote:
> >> Good day everyone!
> >>
> >> I do have the problem that the OpenSSL function "PEM_read_RSAPrivateKey"
> >> does nothing, not even returning. Since I can not find any more hints
> >> in the net I am asking here for help. I wrote a minimalistic example
> >> program and hope somebody can give me some advice based on that.
> >>
> >> I am using Visual Studio .net 2003 v7.1.3088 on Windows XP Pro SP 2.
> >>
> >> For OpenSSL I am using Win32 OpenSSL v0.9.8a, the precompiled and
> >> installer-packed binaries you can find under
> >> http://www.slproweb.com/products/Win32OpenSSL.html
> >>
> >> What I did:
> >>
> >> Visual Studio Application Wizard: Win32 Console Application,
> >> starting as empty project
> >> added Additional Include Directories: "..\openssl\include"
> >> added Additional Library Directories: "..\openssl\lib\vc"
> >> (NOT "..\openssl\lib\vc\static" !)
> >> added Additional Dependencies: "libeay32.lib ssleay32.lib"
> >> set Runtime Library on "Multi-threaded Debug DLL (/MDd)" and
> >> "Multi-threaded DLL (/MD)"
> >> copied "applink.c" into project directory and added to VS project
> >> created new file "example.cpp" and added to VS project
> >>
> >> -------------------- snip --------------------
> >>
> >> // SSL
> >> #include "openssl/ssl.h"
> >> #include "openssl/rand.h"
> >> #include "openssl/err.h"
> >> #include "openssl/rsa.h"
> >>
> >> // STD
> >> #include <iostream>
> >> #include <string>
> >> #include <iomanip>
> >> using namespace std;
> >>
> >> // TCHAR
> >> #include <tchar.h>
> >>
> >> int _tmain(int argc, _TCHAR* argv[])
> >> {
> >>    // initialization
> >>    {
> >>      SSL_load_error_strings();
> >>
> >>      SSL_library_init();
> >>      // note: replaces OpenSSL_add_all_algorithms() since 0.9.8a
> >>
> >>      cout << "Seed random number generator..." << endl;
> >>      const char SeedBuffer[16] = "123456789ABCDEF";
> >>      RAND_seed(SeedBuffer, 16);
> >>    }
> >>
> >>    // generate and write keys
> >>    {
> >>      cout << "Generate RSA key..." << endl;
> >>      RSA* pRSA = RSA_generate_key(1024, 65537, NULL, NULL);
> >>      if (pRSA == NULL)
> >>      {
> >>        cout
> >>          << "RSA_generate_key failed: "
> >>          << ERR_get_error()
> >>          << endl;
> >>        return false;
> >>      }
> >>
> >>      cout << "Size: " << RSA_size(pRSA) * 8 << " Bit" << endl;
> >>
> >>      FILE* pPrivateKeyFile = fopen("RSAPrivateKey.txt", "w");
> >>      if (pPrivateKeyFile == NULL)
> >>      {
> >>        cout << "fopen failed" << endl;
> >>        return 1;
> >>      }
> >>
> >>      cout << "Write private key file..." << endl;
> >>      if (PEM_write_RSAPrivateKey(
> >>        pPrivateKeyFile, pRSA, NULL, NULL, 0, NULL, NULL) == 0)
> >>      {
> >>        cout
> >>          << "PEM_write_RSAPrivateKey failed: "
> >>          << ERR_get_error()
> >>          << endl;
> >>        return 1;
> >>      }
> >>
> >>      fclose(pPrivateKeyFile);
> >>
> >>      // note: file "RSAPrivateKey.txt" now exists, is plaintext
> >>      // and obviously contains a key
> >>
> >>    }
> >>
> >>    // read keys
> >>    {
> >>      FILE* pPrivateKeyFile = fopen("RSAPrivateKey.txt", "r");
> >>      if (pPrivateKeyFile == NULL)
> >>      {
> >>        cout << "fopen failed" << endl;
> >>        return 1;
> >>      }
> >>
> >>      cout << "Read private key file..." << endl;
> >>      RSA* pPrivateKeyRSA = PEM_read_RSAPrivateKey(
> >>        pPrivateKeyFile, NULL, NULL, NULL);
> >>
> >>      // !!!!! program never comes here !!!!!
> >>
> >>      // note: I tried every combination of callback function
> >>      // for the password but the program never got there, too
> >>
> >>      if (pPrivateKeyRSA == NULL)
> >>      {
> >>        cout
> >>          << "PEM_read_RSAPrivateKey failed: "
> >>          << ERR_get_error()
> >>          << endl;
> >>        return 1;
> >>      }
> >>
> >>      fclose(pPrivateKeyFile);
> >>
> >>      cout
> >>        << "Size: " << RSA_size(pPrivateKeyRSA) * 8 << " Bit"
> >>        << endl;
> >>    }
> >>
> >>    cout << "Done." << endl;
> >>    return 0;
> >> }
> >>
> >> -------------------- snap --------------------
> >>
> >> Thanks,
> >> Matthias
> >>
> >> ______________________________________________________________________
> >> OpenSSL Project                                 http://www.openssl.org
> >> User Support Mailing List                    openssl-users@openssl.org
> >> Automated List Manager                           [EMAIL PROTECTED]
> >>
> > ______________________________________________________________________
> > OpenSSL Project                                 http://www.openssl.org
> > User Support Mailing List                    openssl-users@openssl.org
> > Automated List Manager                           [EMAIL PROTECTED]
> >
> >
>
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> User Support Mailing List                    openssl-users@openssl.org
> Automated List Manager                           [EMAIL PROTECTED]
>
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> User Support Mailing List                    openssl-users@openssl.org
> Automated List Manager                           [EMAIL PROTECTED]
>
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to