aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/prov/openssl
diff options
context:
space:
mode:
authorJack Lloyd <[email protected]>2018-03-10 10:24:25 -0500
committerJack Lloyd <[email protected]>2018-03-10 10:27:12 -0500
commit9141f982c7679a27a265a84ba34d9695017883c9 (patch)
tree2853c6c86ab7ac70dde74692a82ec01c15bbbb20 /src/lib/prov/openssl
parentea0f46dfcab59938fc863ca8d01552392c3c5a34 (diff)
Add PointGFp::encode as replacement for EC2OSP
Literally every single call to EC2OSP is converting the returned secure_vector to a std::vector. Which makes sense since private points are not really a thing in any protocol I know of.
Diffstat (limited to 'src/lib/prov/openssl')
-rw-r--r--src/lib/prov/openssl/openssl_ec.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/prov/openssl/openssl_ec.cpp b/src/lib/prov/openssl/openssl_ec.cpp
index 90b5e2023..c61f83d02 100644
--- a/src/lib/prov/openssl/openssl_ec.cpp
+++ b/src/lib/prov/openssl/openssl_ec.cpp
@@ -56,7 +56,7 @@ secure_vector<uint8_t> PKCS8_for_openssl(const EC_PrivateKey& ec)
.raw_bytes(ec.domain().DER_encode(EC_DOMPAR_ENC_OID))
.end_cons()
.start_cons(ASN1_Tag(1), PRIVATE)
- .encode(EC2OSP(pub_key, PointGFp::UNCOMPRESSED), BIT_STRING)
+ .encode(pub_key.encode(PointGFp::UNCOMPRESSED), BIT_STRING)
.end_cons()
.end_cons()
.get_contents();
@@ -147,7 +147,7 @@ class OpenSSL_ECDSA_Verification_Operation final : public PK_Ops::Verification_w
if(!::EC_KEY_set_group(m_ossl_ec.get(), grp.get()))
throw OpenSSL_Error("EC_KEY_set_group");
- const secure_vector<uint8_t> enc = EC2OSP(ecdsa.public_point(), PointGFp::UNCOMPRESSED);
+ const std::vector<uint8_t> enc = ecdsa.public_point().encode(PointGFp::UNCOMPRESSED);
const uint8_t* enc_ptr = enc.data();
EC_KEY* key_ptr = m_ossl_ec.get();
if(!::o2i_ECPublicKey(&key_ptr, &enc_ptr, enc.size()))