Yes! the certificate signed by CA is in format of DER and stored in cert.result.

now that section is as following to return the certificate to browser:
 
CERT=fopen("/usr/local/ssl/certs/cert.result");
printf(Content-Type: application/x-x509-user-cert\n\n");
while ((ch=getc(CERT))!= EOF)
     result[i++] = ch;
fclose(CERT);
printf ("%s",result);


the size of cert.result is 832, and i is 833. So I think I have had the content of 
cert.result 
is fully stored in result. however, printf ("%s",result) only output the first line of 
cert.result. How I can overcome this problem?

Is there any C  program to do the work of downloading a certificate to browser?


Thanks a lot for the answer and help from you.

----- Original Message ----- 
发件人: Massimiliano Pala <[EMAIL PROTECTED]>
收件人: <[EMAIL PROTECTED]>
发送时间: 2000年2月27日 10:30
主题: Re: how to download a certificate to browser?


> alohaz wrote:
> > 
> > Thanks a lot to Robert,Mike and Massimiliano for your help.
> > 
> > I got a some suggestion form Hirsch as  following:
> > 
> > I believe the problem is that the join can take multiple lines (if the cert is 
>over multiple lines, and make them into one string), but the C++ code is including 
>the newlines.
> > I am not familiar with getline, I think fgets includes the newline.
> > So my suggestion is check that you are not incorporating newlines in your 
>concatenation.
> > 
> > So I modified my program as:
> > 
> > char result[2000],ch;
> > int i=0;
> > CERT=fopen("/usr/local/ssl/certs/cert.result");
> > printf(Content-Type: application/x-x509-user-cert\n\n");
> > while( ((ch=getc(CERT))!= EOF) && ((ch=getc(CERT))!= '\n') )
> >   result[i++] = ch;
> > fclose(CERT);
> > printf ("%s",result);
> > 
> > I can only use
> >   print "Content-Type: application/x-x509-user-cert\n\n";
> > in perl to have the certificate installed in browser.
> > 
> > print "Content-Length: $len\n\n";
> > is not necessary.
> > 
> > But I still can not get certificate at browser although it has been signed by CA. 
>What's more,
> > strlen(result) is not equal to i. For example, i is 834 but strlen(result) is 30. 
>I do not know the reason.
> > 
> > Can you offer any help? Thanks!
> 
> Is the certificate you are sending in DER format ??? Please also do not strip
> any \n char, you have to send the certificate in DER without modifying it... :-D
> 
> Hope this will fix your problem.
> 
> C'you,
> 
> Massimiliano Pala ([EMAIL PROTECTED])
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to