diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2012-07-21 22:11:38 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2012-07-21 22:11:38 +0200 |
commit | 67b3de5fe34d022593ed9ce216122c10a9c4679d (patch) | |
tree | 05d96fd67e5186fca9e7d6c3a793f995b6d88b45 /src/tpmtool.c | |
parent | 8dedcd323bd0e93313e5f48cdbcb93115e2da6a8 (diff) | |
download | gnutls-67b3de5fe34d022593ed9ce216122c10a9c4679d.tar.gz |
tpmtool now accepts the --inder and --outder options.
Diffstat (limited to 'src/tpmtool.c')
-rw-r--r-- | src/tpmtool.c | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/src/tpmtool.c b/src/tpmtool.c index edd219a056..25cee8e4c5 100644 --- a/src/tpmtool.c +++ b/src/tpmtool.c @@ -55,6 +55,9 @@ static void tpm_pubkey(const char* url, FILE* outfile); static void tpm_delete(const char* url, FILE* outfile); static void tpm_list(FILE* outfile); +static gnutls_x509_crt_fmt_t incert_format, outcert_format; +static gnutls_tpmkey_fmt_t inkey_format, outkey_format; + static FILE *outfile; static FILE *infile; int batch = 0; @@ -95,6 +98,28 @@ cmd_parser (int argc, char **argv) if (HAVE_OPT(DEBUG)) debug = OPT_VALUE_DEBUG; + if (HAVE_OPT(INDER)) + { + incert_format = GNUTLS_X509_FMT_DER; + inkey_format = GNUTLS_TPMKEY_FMT_DER; + } + else + { + incert_format = GNUTLS_X509_FMT_PEM; + inkey_format = GNUTLS_TPMKEY_FMT_PEM; + } + + if (HAVE_OPT(OUTDER)) + { + outcert_format = GNUTLS_X509_FMT_DER; + outkey_format = GNUTLS_TPMKEY_FMT_DER; + } + else + { + outcert_format = GNUTLS_X509_FMT_PEM; + outkey_format = GNUTLS_TPMKEY_FMT_PEM; + } + if (HAVE_OPT(REGISTER)) genflags |= GNUTLS_TPM_REGISTER_KEY; if (!HAVE_OPT(LEGACY)) @@ -177,7 +202,8 @@ static void tpm_generate(FILE* outfile, unsigned int key_type, unsigned int bits key_pass = strdup(srk_pass); ret = gnutls_tpm_privkey_generate(key_type, bits, srk_pass, key_pass, - GNUTLS_X509_FMT_PEM, &privkey, &pubkey, + outkey_format, outcert_format, + &privkey, &pubkey, flags); free(key_pass); |