diff options
author | Arun kumar Sekar <arunkumarsit@gmail.com> | 2018-03-30 11:20:30 -0700 |
---|---|---|
committer | Arun kumar sekar <arunkumarsit@gmail.com> | 2018-04-03 21:14:48 +0000 |
commit | 2ac563372735668ac9687c57e35e39c3e4553ff0 (patch) | |
tree | 4f276f8feba53a700f73a4aa9f2f55187444dff5 /tpm-util/import/include | |
parent | 3d5e48d877919ec8d33e1d1ee3682fb1f0bc0532 (diff) |
Utility to Import external RSA pem key into TPM
Duplicate tool - Takes RSA private key in
pem format as input and generates
TPM structured buffers as expected by tpm Import
Import tool - Takes input buffers from
Duplicate tool and results in pub/priv blobs
which can be used to load the key in tpm
storage heirarchy's as child to primary key
Change-Id: I0af6676895ce0cc22c70e5546908e905b78bb71e
Issue-ID: AAF-207
Signed-off-by: Arun kumar Sekar <arunkumarsit@gmail.com>
Diffstat (limited to 'tpm-util/import/include')
-rw-r--r-- | tpm-util/import/include/tpm_wrapper.h | 60 | ||||
-rw-r--r-- | tpm-util/import/include/util.h | 25 |
2 files changed, 85 insertions, 0 deletions
diff --git a/tpm-util/import/include/tpm_wrapper.h b/tpm-util/import/include/tpm_wrapper.h new file mode 100644 index 0000000..4d1639d --- /dev/null +++ b/tpm-util/import/include/tpm_wrapper.h @@ -0,0 +1,60 @@ +/* + * Copyright 2018 Intel Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Author: Arun Kumar Sekar + +#ifndef __TPM_WRAPPER_H__ +#define __TPM_WRAPPER_H__ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <limits.h> +#include <ctype.h> +#include <getopt.h> + +#include <sapi/tpm20.h> + +#include <tcti/tcti-tabrmd.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#define INIT_SIMPLE_TPM2B_SIZE( type ) (type).t.size = sizeof( type ) - 2; + +TSS2_TCTI_CONTEXT* tpm_tcti_tabrmd_init (void); + +TSS2_SYS_CONTEXT* sys_ctx_init (TSS2_TCTI_CONTEXT *tcti_ctx); + +TSS2_RC TeardownTctiContext( TSS2_TCTI_CONTEXT *tctiContext ); + +void TeardownSysContext( TSS2_SYS_CONTEXT **sysContext ); + +TSS2_RC swKeyTpmImport( + /* IN */ + TSS2_SYS_CONTEXT *sysContext, + TPM_HANDLE parentKeyHandle, + TPM2B_DATA* encryptionKey, TPM2B_PUBLIC* swKeyPublic, TPM2B_PRIVATE* swKeyPrivate, TPM2B_ENCRYPTED_SECRET* encSymSeed, + unsigned char* tpm_pwd, int tpm_pwd_len, + /* OUT */ + TPM2B_PRIVATE *importPrivate); + +#ifdef __cplusplus +} +#endif + + +#endif diff --git a/tpm-util/import/include/util.h b/tpm-util/import/include/util.h new file mode 100644 index 0000000..5d89376 --- /dev/null +++ b/tpm-util/import/include/util.h @@ -0,0 +1,25 @@ +/* + * Copyright 2018 Intel Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Author: Arun Kumar Sekar + +#ifndef __UTIL_H__ +#define __UTIL_H__ + +int saveDataToFile(const char *fileName, UINT8 *buf, UINT16 size); + +int loadDataFromFile(const char *fileName, UINT8 *buf, UINT16 *size); + +#endif |