- printf ("Server certificate:\n");
-
- str = X509_NAME_oneline (X509_get_subject_name (server_cert),0,0);
- if (str)
- {
- printf ("\t subject: %s\n", str);
- free (str);
- }
- str = X509_NAME_oneline (X509_get_issuer_name (server_cert),0,0);
- if (str)
- {
- printf ("\t issuer: %s\n", str);
- free (str);
- }
+ char *pem_buf;
+ int pem_len;
+ BIO *bio = BIO_new(BIO_s_mem());
+
+ /* get PEM buffer in memory */
+ PEM_write_bio_X509(bio, server_cert);
+ pem_len = BIO_get_mem_data(bio, &pem_buf);
+ fwrite(pem_buf, pem_len, 1, stdout);
+
+ /* print all info on screen .. */
+ X509_print_fp(stdout, server_cert);
+ BIO_free(bio);
+