| Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/ts/ts_lib.c |
| Source code | Switch to Preprocessed file |
| Line | Source | Count | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | /* | - | ||||||||||||
| 2 | * Copyright 2006-2018 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/x509.h> | - | ||||||||||||
| 15 | #include <openssl/x509v3.h> | - | ||||||||||||
| 16 | #include <openssl/ts.h> | - | ||||||||||||
| 17 | #include "ts_lcl.h" | - | ||||||||||||
| 18 | - | |||||||||||||
| 19 | int TS_ASN1_INTEGER_print_bio(BIO *bio, const ASN1_INTEGER *num) | - | ||||||||||||
| 20 | { | - | ||||||||||||
| 21 | BIGNUM *num_bn; | - | ||||||||||||
| 22 | int result = 0; | - | ||||||||||||
| 23 | char *hex; | - | ||||||||||||
| 24 | - | |||||||||||||
| 25 | num_bn = ASN1_INTEGER_to_BN(num, NULL); | - | ||||||||||||
| 26 | if (num_bn == NULL)
| 0-223 | ||||||||||||
| 27 | return -1; never executed: return -1; | 0 | ||||||||||||
| 28 | if ((hex = BN_bn2hex(num_bn))) {
| 0-223 | ||||||||||||
| 29 | result = BIO_write(bio, "0x", 2) > 0; | - | ||||||||||||
| 30 | result = result && BIO_write(bio, hex, strlen(hex)) > 0;
| 0-223 | ||||||||||||
| 31 | OPENSSL_free(hex); | - | ||||||||||||
| 32 | } executed 223 times by 1 test: end of blockExecuted by:
| 223 | ||||||||||||
| 33 | BN_free(num_bn); | - | ||||||||||||
| 34 | - | |||||||||||||
| 35 | return result; executed 223 times by 1 test: return result;Executed by:
| 223 | ||||||||||||
| 36 | } | - | ||||||||||||
| 37 | - | |||||||||||||
| 38 | int TS_OBJ_print_bio(BIO *bio, const ASN1_OBJECT *obj) | - | ||||||||||||
| 39 | { | - | ||||||||||||
| 40 | char obj_txt[128]; | - | ||||||||||||
| 41 | - | |||||||||||||
| 42 | OBJ_obj2txt(obj_txt, sizeof(obj_txt), obj, 0); | - | ||||||||||||
| 43 | BIO_printf(bio, "%s\n", obj_txt); | - | ||||||||||||
| 44 | - | |||||||||||||
| 45 | return 1; executed 1 time by 1 test: return 1;Executed by:
| 1 | ||||||||||||
| 46 | } | - | ||||||||||||
| 47 | - | |||||||||||||
| 48 | int TS_ext_print_bio(BIO *bio, const STACK_OF(X509_EXTENSION) *extensions) | - | ||||||||||||
| 49 | { | - | ||||||||||||
| 50 | int i, critical, n; | - | ||||||||||||
| 51 | X509_EXTENSION *ex; | - | ||||||||||||
| 52 | ASN1_OBJECT *obj; | - | ||||||||||||
| 53 | - | |||||||||||||
| 54 | BIO_printf(bio, "Extensions:\n"); | - | ||||||||||||
| 55 | n = X509v3_get_ext_count(extensions); | - | ||||||||||||
| 56 | for (i = 0; i < n; i++) {
| 446-15994 | ||||||||||||
| 57 | ex = X509v3_get_ext(extensions, i); | - | ||||||||||||
| 58 | obj = X509_EXTENSION_get_object(ex); | - | ||||||||||||
| 59 | if (i2a_ASN1_OBJECT(bio, obj) < 0)
| 0-15994 | ||||||||||||
| 60 | return 0; never executed: return 0; | 0 | ||||||||||||
| 61 | critical = X509_EXTENSION_get_critical(ex); | - | ||||||||||||
| 62 | BIO_printf(bio, ":%s\n", critical ? " critical" : ""); | - | ||||||||||||
| 63 | if (!X509V3_EXT_print(bio, ex, 0, 4)) {
| 5701-10293 | ||||||||||||
| 64 | BIO_printf(bio, "%4s", ""); | - | ||||||||||||
| 65 | ASN1_STRING_print(bio, X509_EXTENSION_get_data(ex)); | - | ||||||||||||
| 66 | } executed 5701 times by 1 test: end of blockExecuted by:
| 5701 | ||||||||||||
| 67 | BIO_write(bio, "\n", 1); | - | ||||||||||||
| 68 | } executed 15994 times by 1 test: end of blockExecuted by:
| 15994 | ||||||||||||
| 69 | - | |||||||||||||
| 70 | return 1; executed 446 times by 1 test: return 1;Executed by:
| 446 | ||||||||||||
| 71 | } | - | ||||||||||||
| 72 | - | |||||||||||||
| 73 | int TS_X509_ALGOR_print_bio(BIO *bio, const X509_ALGOR *alg) | - | ||||||||||||
| 74 | { | - | ||||||||||||
| 75 | int i = OBJ_obj2nid(alg->algorithm); | - | ||||||||||||
| 76 | return BIO_printf(bio, "Hash Algorithm: %s\n", executed 448 times by 1 test: return BIO_printf(bio, "Hash Algorithm: %s\n", (i == 0) ? "UNKNOWN" : OBJ_nid2ln(i));Executed by:
| 448 | ||||||||||||
| 77 | (i == NID_undef) ? "UNKNOWN" : OBJ_nid2ln(i)); executed 448 times by 1 test: return BIO_printf(bio, "Hash Algorithm: %s\n", (i == 0) ? "UNKNOWN" : OBJ_nid2ln(i));Executed by:
| 448 | ||||||||||||
| 78 | } | - | ||||||||||||
| 79 | - | |||||||||||||
| 80 | int TS_MSG_IMPRINT_print_bio(BIO *bio, TS_MSG_IMPRINT *a) | - | ||||||||||||
| 81 | { | - | ||||||||||||
| 82 | ASN1_OCTET_STRING *msg; | - | ||||||||||||
| 83 | - | |||||||||||||
| 84 | TS_X509_ALGOR_print_bio(bio, a->hash_algo); | - | ||||||||||||
| 85 | - | |||||||||||||
| 86 | BIO_printf(bio, "Message data:\n"); | - | ||||||||||||
| 87 | msg = a->hashed_msg; | - | ||||||||||||
| 88 | BIO_dump_indent(bio, (const char *)ASN1_STRING_get0_data(msg), | - | ||||||||||||
| 89 | ASN1_STRING_length(msg), 4); | - | ||||||||||||
| 90 | - | |||||||||||||
| 91 | return 1; executed 448 times by 1 test: return 1;Executed by:
| 448 | ||||||||||||
| 92 | } | - | ||||||||||||
| Source code | Switch to Preprocessed file |