I've seen this in a few other circumstances too, but first let's make absolutely sure the OS allows you to create that file: add a check for privateKeyFile==NULL _before_ you use that FILE handle - as you should ;-)
So that would mean something along these lines (code from my head, i.e. untested): privateKeyFile = fopen("Privatekey", "w"); if (privateKeyFile == NULL) { /* might be handy to print the errno value too! */ fprintf(stderr, "Fatal error: cannot create/open file '%s' for writing: %s\n", "Privatekey", strerror(errno)); exit(EXIT_FAILURE); // abort test app } else { PEM_write_RSAPrivateKey(privateKeyFile, r,NULL,NULL, 0,NULL, NULL); ... // don't forget to close the handle: fclose(privateKeyFile); } // done Hope this helps you along, Ger On Sun, Mar 16, 2008 at 8:53 PM, learning openssl < [EMAIL PROTECTED]> wrote: > I use VS2005 to create a private RSA key. But I always get the error from > the file setmode.c line 58: Expression: (_osfile(fh)&FOPEN) --Debug > assertion failed > > > RSA *r =NULL; > int bits=512; > unsigned long e=RSA_3; > FILE *privateKeyFile; > r=RSA_generate_key(bits,e,NULL,NULL); > fopen_s(&privateKeyFile,"Privatekey", "w"); //privateKeyFile = > fopen("Privatekey", "w"); > PEM_write_RSAPrivateKey(privateKeyFile, r,NULL,NULL, 0,NULL, NULL); > > The error comes from the function PEM_write_RSAPrivateKey(). > > Please help me! > > ------------------------------ > Express yourself instantly with MSN Messenger! MSN > Messenger<http://clk.atdmt.com/AVE/go/onm00200471ave/direct/01/> > -- Met vriendelijke groeten / Best regards, Ger Hobbelt -------------------------------------------------- web: http://www.hobbelt.com/ http://www.hebbut.net/ mail: [EMAIL PROTECTED] mobile: +31-6-11 120 978 --------------------------------------------------