const char *pin, EVP_PKEY **ppub, EVP_PKEY **ppriv);
bool
-dst__openssl_compare_keypair(const dst_key_t *key1, const dst_key_t *key2);
+dst__openssl_keypair_compare(const dst_key_t *key1, const dst_key_t *key2);
+
+bool
+dst__openssl_keypair_isprivate(const dst_key_t *key);
+
+void
+dst__openssl_keypair_destroy(dst_key_t *key);
ISC_LANG_ENDDECLS
}
bool
-dst__openssl_compare_keypair(const dst_key_t *key1, const dst_key_t *key2) {
+dst__openssl_keypair_compare(const dst_key_t *key1, const dst_key_t *key2) {
EVP_PKEY *pkey1 = key1->keydata.pkeypair.pub;
EVP_PKEY *pkey2 = key2->keydata.pkeypair.pub;
- if (pkey1 == NULL && pkey2 == NULL) {
+ if (pkey1 == pkey2) {
return (true);
} else if (pkey1 == NULL || pkey2 == NULL) {
return (false);
return (true);
}
+bool
+dst__openssl_keypair_isprivate(const dst_key_t *key) {
+ return (key->keydata.pkeypair.priv != NULL);
+}
+
+void
+dst__openssl_keypair_destroy(dst_key_t *key) {
+ if (key->keydata.pkeypair.priv != key->keydata.pkeypair.pub) {
+ EVP_PKEY_free(key->keydata.pkeypair.priv);
+ }
+ EVP_PKEY_free(key->keydata.pkeypair.pub);
+ key->keydata.pkeypair.pub = NULL;
+ key->keydata.pkeypair.priv = NULL;
+}
+
/*! \file */
return (ret);
}
-static bool
-opensslecdsa_isprivate(const dst_key_t *key) {
- REQUIRE(opensslecdsa_valid_key_alg(key->key_alg));
-
- return (key->keydata.pkeypair.priv != NULL);
-}
-
-static void
-opensslecdsa_destroy(dst_key_t *key) {
- if (key->keydata.pkeypair.priv != key->keydata.pkeypair.pub) {
- EVP_PKEY_free(key->keydata.pkeypair.priv);
- }
- EVP_PKEY_free(key->keydata.pkeypair.pub);
- key->keydata.pkeypair.pub = NULL;
- key->keydata.pkeypair.priv = NULL;
-}
-
static isc_result_t
opensslecdsa_todns(const dst_key_t *key, isc_buffer_t *data) {
isc_result_t ret;
opensslecdsa_verify,
NULL, /*%< verify2 */
NULL, /*%< computesecret */
- dst__openssl_compare_keypair,
+ dst__openssl_keypair_compare,
NULL, /*%< paramcompare */
opensslecdsa_generate,
- opensslecdsa_isprivate,
- opensslecdsa_destroy,
+ dst__openssl_keypair_isprivate,
+ dst__openssl_keypair_destroy,
opensslecdsa_todns,
opensslecdsa_fromdns,
opensslecdsa_tofile,
return (ret);
}
-static bool
-opensslrsa_isprivate(const dst_key_t *key) {
- REQUIRE(opensslrsa_valid_key_alg(key->key_alg));
-
- return (key->keydata.pkeypair.priv != NULL);
-}
-
-static void
-opensslrsa_destroy(dst_key_t *key) {
- if (key->keydata.pkeypair.pub != key->keydata.pkeypair.priv) {
- EVP_PKEY_free(key->keydata.pkeypair.priv);
- }
- EVP_PKEY_free(key->keydata.pkeypair.pub);
- key->keydata.pkeypair.pub = NULL;
- key->keydata.pkeypair.priv = NULL;
-}
-
static isc_result_t
opensslrsa_todns(const dst_key_t *key, isc_buffer_t *data) {
isc_region_t r;
opensslrsa_verify,
opensslrsa_verify2,
NULL, /*%< computesecret */
- dst__openssl_compare_keypair,
+ dst__openssl_keypair_compare,
NULL, /*%< paramcompare */
opensslrsa_generate,
- opensslrsa_isprivate,
- opensslrsa_destroy,
+ dst__openssl_keypair_isprivate,
+ dst__openssl_keypair_destroy,
opensslrsa_todns,
opensslrsa_fromdns,
opensslrsa_tofile,