flag = {
name = p7-verify;
descrip = "Verify the provided PKCS #7 structure";
- doc = "This option verifies the signed PKCS #7 structure. The certificate list to use for verification can be specified with --load-ca-certificate. no certificate list is provided, then the system's certificate list is used.";
+ doc = "This option verifies the signed PKCS #7 structure. The certificate list to use for verification can be specified with --load-ca-certificate. no certificate list is provided, then the system's certificate list is used. A key purpose can be enforced with the --verify-purpose option.";
};
fprintf(outfile, "\n");
}
-static void print_dn(const gnutls_datum_t *raw)
+static void print_dn(const char *prefix, const gnutls_datum_t *raw)
{
gnutls_x509_dn_t dn = NULL;
gnutls_datum_t str = {NULL, 0};
if (ret < 0)
goto cleanup;
- fprintf(stderr, "DN: %s\n", str.data);
+ fprintf(stderr, "%s: %s\n", prefix, str.data);
cleanup:
gnutls_x509_dn_deinit(dn);
if (ret < 0)
break;
- print_dn(&info.issuer_dn);
- fprintf(stderr, "Algorithm: %s\n\n", gnutls_sign_get_name(info.algo));
+ print_dn("\tSigner's issuer DN", &info.issuer_dn);
+ fprintf(stderr, "\tSignature Algorithm: %s\n", gnutls_sign_get_name(info.algo));
gnutls_pkcs7_signature_info_deinit(&info);
ret = gnutls_pkcs7_verify(pkcs7, tl, vdata, vdata_size, i, NULL, 0);
if (ret < 0) {
- fprintf(stderr, "Signature verification failed: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "\tSignature status: verification failed: %s\n", gnutls_strerror(ret));
ecode = 1;
} else {
- fprintf(stderr, "Signature was verified\n");
+ fprintf(stderr, "\tSignature status: ok\n");
ecode = 0;
}
}