{
char digest[20];
char serial[40];
- int digest_size = sizeof(digest), i;
- int serial_size = sizeof(serial);
+ int digest_size, i;
+ int serial_size;
char printable[120];
int printable_size;
char *print;
/* Print the fingerprint of the certificate
*/
+ digest_size = sizeof(digest);
if (gnutls_x509_fingerprint
(GNUTLS_DIG_MD5, &cert_list[0], digest, &digest_size) >= 0) {
print = printable;
/* Print the serial number of the certificate.
*/
+ serial_size = sizeof(serial);
if (gnutls_x509_crt_get_serial(cert, serial, &serial_size) >= 0)
{
print = printable;
printf(" # valid since: %s", my_ctime(&activet));
printf(" # expires at: %s", my_ctime(&expiret));
- /* Print the fingerprint of the certificate
- */
- if (gnutls_fingerprint
- (GNUTLS_DIG_MD5, &cert_list[j], digest,
- &digest_size) >= 0) {
- print = printable;
- for (i = 0; i < digest_size; i++) {
- sprintf(print, "%.2x ",
- (unsigned char) digest[i]);
- print += 3;
- }
- printf(" # fingerprint: %s\n", printable);
- }
/* Print the serial number of the certificate.
*/
-
if (gnutls_x509_crt_get_serial(crt, serial, &serial_size)
>= 0) {
print = printable;
printf(" # serial number: %s\n", printable);
}
+ /* Print the fingerprint of the certificate
+ */
+ digest_size = sizeof(digest);
+ if ((ret=gnutls_x509_crt_get_fingerprint(crt, GNUTLS_DIG_MD5, digest, &digest_size))
+ < 0) {
+ fprintf(stderr, "Error in fingerprint calculation: %s\n", gnutls_strerror(ret));
+ } else {
+ print = printable;
+ for (i = 0; i < digest_size; i++) {
+ sprintf(print, "%.2x ",
+ (unsigned char) digest[i]);
+ print += 3;
+ }
+ printf(" # fingerprint: %s\n", printable);
+ }
+
/* Print the version of the X.509
* certificate.
*/