use _hx509_request_print

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@21334 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2007-06-26 12:18:14 +00:00
parent 307d29f7e6
commit e0bf16a61f

View File

@@ -1204,58 +1204,21 @@ request_create(struct request_create_options *opt, int argc, char **argv)
int
pkcs10_print(struct pkcs10_print_options *opt, int argc, char **argv)
{
size_t size, length;
size_t length;
int ret, i;
void *p;
printf("pkcs10 print\n");
for (i = 0; i < argc; i++) {
CertificationRequest req;
CertificationRequestInfo *rinfo;
ret = _hx509_map_file(argv[i], &p, &length, NULL);
if (ret)
err(1, "map_file: %s: %d", argv[i], ret);
ret = decode_CertificationRequest(p, length, &req, &size);
ret = _hx509_request_print(context, stdout, p, length);
_hx509_unmap_file(p, length);
if (ret)
errx(1, "failed to parse file %s: %d", argv[i], ret);
rinfo = &req.certificationRequestInfo;
{
char *subject;
hx509_name n;
ret = _hx509_name_from_Name(&rinfo->subject, &n);
if (ret)
abort();
ret = hx509_name_to_string(n, &subject);
hx509_name_free(&n);
if (ret)
abort();
printf("name: %s\n", subject);
free(subject);
}
if (rinfo->attributes && rinfo->attributes->len) {
int j;
printf("Attributes:\n");
for (j = 0; j < rinfo->attributes->len; j++) {
char *str;
hx509_oid_sprint(&rinfo->attributes->val[j].type, &str);
printf("\toid: %s\n", str);
free(str);
}
}
free_CertificationRequest(&req);
errx(1, "failed to print file %s: %d", argv[i], ret);
}
return 0;