aboutsummaryrefslogtreecommitdiff
path: root/rpc_pkey.c
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2017-04-07 00:53:18 -0400
committerRob Austein <sra@hactrn.net>2017-04-07 00:53:18 -0400
commita5491cb3dcd86383c242f517490781bb790fad61 (patch)
tree9cbf9a9e68bc040981ccae76268217dbd89615fd /rpc_pkey.c
parent1386e9b75feeff4ed5446b0169d286e54d7317ff (diff)
Shake bugs out of hal_rpc_pkey_import().
Diffstat (limited to 'rpc_pkey.c')
-rw-r--r--rpc_pkey.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/rpc_pkey.c b/rpc_pkey.c
index 9473ec3..e55ebf8 100644
--- a/rpc_pkey.c
+++ b/rpc_pkey.c
@@ -1203,7 +1203,8 @@ static hal_error_t pkey_local_import(const hal_client_handle_t client,
if ((err = hal_rsa_private_key_from_der(&rsa, rsabuf, sizeof(rsabuf), der, der_len)) != HAL_OK)
goto fail;
- if ((err = hal_asn1_decode_pkcs8_encryptedprivatekeyinfo(&oid, &oid_len, &data, &data_len, kek_, kek_len)) != HAL_OK)
+ if ((err = hal_asn1_decode_pkcs8_encryptedprivatekeyinfo(&oid, &oid_len, &data, &data_len,
+ kek_, kek_len)) != HAL_OK)
goto fail;
if (oid_len != hal_asn1_oid_rsaEncryption_len ||
@@ -1225,7 +1226,8 @@ static hal_error_t pkey_local_import(const hal_client_handle_t client,
if (der[0] == 0x00 && der[1] == 0x02 && d != NULL && der + data_len == d + 1 + KEK_LENGTH)
memcpy(kek, d + 1, sizeof(kek));
- if ((err = hal_asn1_decode_pkcs8_encryptedprivatekeyinfo(&oid, &oid_len, &data, &data_len, pkcs8, pkcs8_len)) != HAL_OK)
+ if ((err = hal_asn1_decode_pkcs8_encryptedprivatekeyinfo(&oid, &oid_len, &data, &data_len,
+ pkcs8, pkcs8_len)) != HAL_OK)
goto fail;
if (oid_len != hal_asn1_oid_aesKeyWrap_len ||
@@ -1235,6 +1237,7 @@ static hal_error_t pkey_local_import(const hal_client_handle_t client,
goto fail;
}
+ der_len = sizeof(der);
if ((err = hal_aes_keyunwrap(NULL, kek, sizeof(kek), data, data_len, der, &der_len)) != HAL_OK)
goto fail;