summaryrefslogtreecommitdiff
path: root/src/certtool-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/certtool-common.c')
-rw-r--r--src/certtool-common.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/certtool-common.c b/src/certtool-common.c
index e44ed5d5aa..acd314a0ac 100644
--- a/src/certtool-common.c
+++ b/src/certtool-common.c
@@ -913,6 +913,18 @@ print_ecc_pkey(FILE * outfile, gnutls_ecc_curve_t curve,
}
}
+static void reverse_datum(gnutls_datum_t *d)
+{
+ unsigned int i;
+ unsigned char c;
+
+ for (i = 0; i < d->size / 2; i++) {
+ c = d->data[i];
+ d->data[i] = d->data[d->size - i - 1];
+ d->data[d->size - i - 1] = c;
+ }
+}
+
void
print_gost_pkey(FILE * outfile, gnutls_ecc_curve_t curve,
gnutls_digest_algorithm_t digest, gnutls_gost_paramset_t paramset,
@@ -941,9 +953,12 @@ print_gost_pkey(FILE * outfile, gnutls_ecc_curve_t curve,
gnutls_gost_paramset_get_name(paramset));
if (k) {
+ reverse_datum(k);
print_head(outfile, "private key", k->size, cprint);
print_hex_datum(outfile, k, cprint);
}
+ reverse_datum(x);
+ reverse_datum(y);
print_head(outfile, "x", x->size, cprint);
print_hex_datum(outfile, x, cprint);
print_head(outfile, "y", y->size, cprint);