05f3236c15
* import rsa and ecdsa public keys * allow import_version to update public keys - wip * allow import_version to update public keys * move check key fields into func * put private/public keys in same switch cases * fix method in UpdateKeyVersion * move asymmetrics keys switch to its own method - WIP * test import public and update it with private counterpart * test import public keys * use public_key to encrypt if RSAKey is not present and failed to decrypt if key version does not have a private key * move key to KeyEntry parsing from Policy to KeyEntry method * move extracting of key from input fields into helper function * change back policy Import signature to keep backwards compatibility and add new method to import private or public keys * test import with imported public rsa and ecdsa keys * descriptions and error messages * error messages, remove comments and unused code * changelog * documentation - wip * suggested changes - error messages/typos and unwrap public key passed * fix unwrap key error * fail if both key fields have been set * fix in extractKeyFromFields, passing a PolicyRequest wouldn't not work * checks for read, sign and verify endpoints so they don't return errors when a private key was not imported and tests * handle panic on "export key" endpoint if imported key is public * fmt * remove 'isPrivateKey' argument from 'UpdateKeyVersion' and 'parseFromKey' methods also: rename 'UpdateKeyVersion' method to 'ImportPrivateKeyForVersion' and 'IsPublicKeyImported' to 'IsPrivateKeyMissing' * delete 'RSAPublicKey' when private key is imported * path_export: return public_key for ecdsa and rsa when there's no private key imported * allow signed data validation with pss algorithm * remove NOTE comment * fix typo in EC public key export where empty derBytes was being used * export rsa public key in pkcs8 format instead of pkcs1 and improve test * change logic on how check for is private key missing is calculated --------- Co-authored-by: Alexander Scheel <alex.scheel@hashicorp.com> |
||
---|---|---|
.. | ||
cmd/transit | ||
backend.go | ||
backend_test.go | ||
managed_key_util.go | ||
path_backup.go | ||
path_backup_test.go | ||
path_cache_config.go | ||
path_cache_config_test.go | ||
path_config_keys.go | ||
path_config_keys_test.go | ||
path_datakey.go | ||
path_decrypt.go | ||
path_decrypt_bench_test.go | ||
path_decrypt_test.go | ||
path_encrypt.go | ||
path_encrypt_bench_test.go | ||
path_encrypt_test.go | ||
path_export.go | ||
path_export_test.go | ||
path_hash.go | ||
path_hash_test.go | ||
path_hmac.go | ||
path_hmac_test.go | ||
path_import.go | ||
path_import_test.go | ||
path_keys.go | ||
path_keys_config.go | ||
path_keys_config_test.go | ||
path_keys_test.go | ||
path_random.go | ||
path_random_test.go | ||
path_restore.go | ||
path_restore_test.go | ||
path_rewrap.go | ||
path_rewrap_test.go | ||
path_rotate.go | ||
path_sign_verify.go | ||
path_sign_verify_test.go | ||
path_trim.go | ||
path_trim_test.go | ||
path_wrapping_key.go | ||
path_wrapping_key_test.go | ||
stepwise_test.go |