diff options
author | Andreas Steffen <andreas.steffen@strongswan.org> | 2013-02-17 17:37:45 +0100 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2013-02-19 12:25:00 +0100 |
commit | a4ddc0bb269fbe4ceed599e5e355f2bae763652c (patch) | |
tree | 8158891661c6a5449f90d3dcbd01445352c2f9fa /src/libstrongswan/plugins/dnskey/dnskey_builder.c | |
parent | f2145c8d3acbac8f6e351b9d4571c72f12bb0915 (diff) | |
download | strongswan-a4ddc0bb269fbe4ceed599e5e355f2bae763652c.tar.bz2 strongswan-a4ddc0bb269fbe4ceed599e5e355f2bae763652c.tar.xz |
Encode RSA public keys in RFC 3110 DNSKEY format
Diffstat (limited to 'src/libstrongswan/plugins/dnskey/dnskey_builder.c')
-rw-r--r-- | src/libstrongswan/plugins/dnskey/dnskey_builder.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/libstrongswan/plugins/dnskey/dnskey_builder.c b/src/libstrongswan/plugins/dnskey/dnskey_builder.c index b8a451500..71040437d 100644 --- a/src/libstrongswan/plugins/dnskey/dnskey_builder.c +++ b/src/libstrongswan/plugins/dnskey/dnskey_builder.c @@ -39,8 +39,14 @@ enum dnskey_algorithm_t { DNSKEY_ALG_RSA_MD5 = 1, DNSKEY_ALG_DH = 2, DNSKEY_ALG_DSA = 3, - DNSKEY_ALG_ECC = 4, DNSKEY_ALG_RSA_SHA1 = 5, + DNSKEY_ALG_DSA_NSEC3_SHA1 = 6, + DNSKEY_ALG_RSA_SHA1_NSEC3_SHA1 = 7, + DNSKEY_ALG_RSA_SHA256 = 8, + DNSKEY_ALG_RSA_SHA512 = 10, + DNSKEY_ALG_ECC_GOST = 12, + DNSKEY_ALG_ECDSA_P256_SHA256 = 13, + DNSKEY_ALG_ECDSA_P384_SHA384 = 14 }; /** @@ -59,7 +65,11 @@ static dnskey_public_key_t *parse_public_key(chunk_t blob) switch (rr->algorithm) { + case DNSKEY_ALG_RSA_MD5: case DNSKEY_ALG_RSA_SHA1: + case DNSKEY_ALG_RSA_SHA1_NSEC3_SHA1: + case DNSKEY_ALG_RSA_SHA256: + case DNSKEY_ALG_RSA_SHA512: return lib->creds->create(lib->creds, CRED_PUBLIC_KEY, KEY_RSA, BUILD_BLOB_DNSKEY, blob, BUILD_END); default: |