1 /* 2 * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. 3 * 4 * Licensed under the OpenSSL license (the "License"). You may not use 5 * this file except in compliance with the License. You can obtain a copy 6 * in the file LICENSE in the source distribution or at 7 * https://www.openssl.org/source/license.html 8 */ 9 10 #include <stdio.h> 11 #include "internal/cryptlib.h" 12 #include <openssl/objects.h> 13 #include <openssl/bn.h> 14 #include <openssl/x509v3.h> 15 #include <openssl/ts.h> 16 #include "ts_local.h" 17 18 int TS_REQ_print_bio(BIO *bio, TS_REQ *a) 19 { 20 int v; 21 ASN1_OBJECT *policy_id; 22 23 if (a == NULL) 24 return 0; 25 26 v = TS_REQ_get_version(a); 27 BIO_printf(bio, "Version: %d\n", v); 28 29 TS_MSG_IMPRINT_print_bio(bio, a->msg_imprint); 30 31 BIO_printf(bio, "Policy OID: "); 32 policy_id = TS_REQ_get_policy_id(a); 33 if (policy_id == NULL) 34 BIO_printf(bio, "unspecified\n"); 35 else 36 TS_OBJ_print_bio(bio, policy_id); 37 38 BIO_printf(bio, "Nonce: "); 39 if (a->nonce == NULL) 40 BIO_printf(bio, "unspecified"); 41 else 42 TS_ASN1_INTEGER_print_bio(bio, a->nonce); 43 BIO_write(bio, "\n", 1); 44 45 BIO_printf(bio, "Certificate required: %s\n", 46 a->cert_req ? "yes" : "no"); 47 48 TS_ext_print_bio(bio, a->extensions); 49 50 return 1; 51 } 52