diff options
author | Linus Nordberg <linus@nordberg.se> | 2014-09-25 11:56:21 +0200 |
---|---|---|
committer | Linus Nordberg <linus@nordberg.se> | 2014-09-25 11:56:21 +0200 |
commit | 891b48d2aaeb9f6614a06370fb94fc8642d4983a (patch) | |
tree | 6adacd0540fea524153804b8b175152a4d0d893e | |
parent | 5fba8e2d4d263dd78563b8f3af931d8e599d7cad (diff) |
Let read_keyfiles_ec/2 return LogID too.x509-bc-we-care2
-rw-r--r-- | src/plop.erl | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/plop.erl b/src/plop.erl index b0d9090..ccc32cf 100644 --- a/src/plop.erl +++ b/src/plop.erl @@ -81,10 +81,7 @@ init([PrivKeyfile, PubKeyfile]) -> %% LogID = crypto:hash(sha256, %% public_key:der_encode('RSAPublicKey', Public_key)), %% Read EC keypair. - {Private_key, Public_key} = read_keyfiles_ec(PrivKeyfile, PubKeyfile), - LogID = crypto:hash(sha256, public_key:der_encode( - 'ECPoint', - element(2, element(1, Public_key)))), % FIXME! + {Private_key, Public_key, LogID} = read_keyfiles_ec(PrivKeyfile, PubKeyfile), _Tree = ht:reset_tree([db:size() - 1]), {ok, #state{pubkey = Public_key, privkey = Private_key, @@ -278,6 +275,8 @@ read_keyfile_rsa(Filename, Passphrase) -> %% @doc Read two PEM files, one with a private EC key and one with the %% corresponding public EC key. +%% -spec read_keyfiles_ec(list(), list()) -> +%% {ec_private_key(), ec_public_key(), binary()}. read_keyfiles_ec(PrivkeyFile, Pubkeyfile) -> {ok, PemBinPriv} = file:read_file(PrivkeyFile), [OTPPubParamsPem, PrivkeyPem] = public_key:pem_decode(PemBinPriv), @@ -297,7 +296,9 @@ read_keyfiles_ec(PrivkeyFile, Pubkeyfile) -> Point = #'ECPoint'{point = Octets}, Publickey = {Point, Params}, - {Privatekey, Publickey}. + KeyID = crypto:hash(sha256, AlgoDer), + + {Privatekey, Publickey, KeyID}. decode_key(Entry) -> public_key:pem_entry_decode(Entry). |