------=_Part_8414_14679968.1205764632923
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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 <
learning_openssl@hotmail.co.uk> 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
>




--
Met vriendelijke groeten / Best regards,

Ger Hobbelt

--------------------------------------------------
web: http://www.hobbelt.com/
http://www.hebbut.net/
mail: ger@hobbelt.com
mobile: +31-6-11 120 978
--------------------------------------------------

------=_Part_8414_14679968.1205764632923
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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 <learning_openssl@hotmail.co.uk> 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





--
Met vriendelijke groeten / Best regards,

Ger Hobbelt

--------------------------------------------------
web: http://www.hobbelt.com/

http://www.hebbut.net/
mail: ger@hobbelt.com
mobile: +31-6-11 120 978
--------------------------------------------------


------=_Part_8414_14679968.1205764632923--
__________________________________________________ ____________________
OpenSSL Project http://www.openssl.org
User Support Mailing List openssl-users@openssl.org
Automated List Manager majordomo@openssl.org