" | NSEC3DSA |\n");
fprintf(stderr, " RSASHA256 | RSASHA512 | ECCGOST |\n");
fprintf(stderr, " ECDSAP256SHA256 | ECDSAP384SHA384 |\n");
- fprintf(stderr, " ED25519 | ED448 | DH |\n");
- fprintf(stderr, " HMAC-MD5 | HMAC-SHA1 | HMAC-SHA224 | "
- "HMAC-SHA256 | \n");
- fprintf(stderr, " HMAC-SHA384 | HMAC-SHA512\n");
+ fprintf(stderr, " ED25519 | ED448 | DH\n");
fprintf(stderr, " -3: use NSEC3-capable algorithm\n");
fprintf(stderr, " -b <key size in bits>:\n");
fprintf(stderr, " RSAMD5:\t[1024..%d]\n", MAX_RSA);
fprintf(stderr, " ECDSAP384SHA384:\tignored\n");
fprintf(stderr, " ED25519:\tignored\n");
fprintf(stderr, " ED448:\tignored\n");
- fprintf(stderr, " HMAC-MD5:\t[1..512]\n");
- fprintf(stderr, " HMAC-SHA1:\t[1..160]\n");
- fprintf(stderr, " HMAC-SHA224:\t[1..224]\n");
- fprintf(stderr, " HMAC-SHA256:\t[1..256]\n");
- fprintf(stderr, " HMAC-SHA384:\t[1..384]\n");
- fprintf(stderr, " HMAC-SHA512:\t[1..512]\n");
fprintf(stderr, " (key size defaults are set according to\n"
" algorithm and usage (ZSK or KSK)\n");
fprintf(stderr, " -n <nametype>: ZONE | HOST | ENTITY | "
"\"-a RSAMD5\"\n");
INSIST(freeit == NULL);
return (1);
- } else if (strcasecmp(algname, "HMAC-MD5") == 0) {
- alg = DST_ALG_HMACMD5;
#else
fprintf(stderr,
"The use of RSA (RSAMD5) was disabled\n");
fprintf(stderr, "The use of RSAMD5 was disabled\n");
INSIST(freeit == NULL);
return (1);
- } else if (strcasecmp(algname, "HMAC-MD5") == 0) {
- fprintf(stderr,
- "The use of HMAC-MD5 was disabled\n");
- return (1);
#endif
- } else if (strcasecmp(algname, "HMAC-SHA1") == 0)
- alg = DST_ALG_HMACSHA1;
- else if (strcasecmp(algname, "HMAC-SHA224") == 0)
- alg = DST_ALG_HMACSHA224;
- else if (strcasecmp(algname, "HMAC-SHA256") == 0)
- alg = DST_ALG_HMACSHA256;
- else if (strcasecmp(algname, "HMAC-SHA384") == 0)
- alg = DST_ALG_HMACSHA384;
- else if (strcasecmp(algname, "HMAC-SHA512") == 0)
- alg = DST_ALG_HMACSHA512;
- else {
+ } else {
r.base = algname;
r.length = strlen(algname);
ret = dns_secalg_fromtext(&alg, &r);
- if (ret != ISC_R_SUCCESS)
+ if (ret != ISC_R_SUCCESS) {
fatal("unknown algorithm %s", algname);
- if (alg == DST_ALG_DH)
+ }
+ if (alg == DST_ALG_DH) {
options |= DST_TYPE_KEY;
+ }
}
#ifdef PK11_MD5_DISABLE
- INSIST((alg != DNS_KEYALG_RSAMD5) && (alg != DST_ALG_HMACMD5));
+ INSIST((alg != DNS_KEYALG_RSAMD5));
#endif
-
- if (alg == DST_ALG_HMACMD5 || alg == DST_ALG_HMACSHA1 ||
- alg == DST_ALG_HMACSHA224 || alg == DST_ALG_HMACSHA256 ||
- alg == DST_ALG_HMACSHA384 || alg == DST_ALG_HMACSHA512)
- {
- fprintf(stderr,
- "Use of dnssec-keygen for HMAC keys is "
- "deprecated: use tsig-keygen\n");
- }
-
- if (!dst_algorithm_supported(alg))
+ if (!dst_algorithm_supported(alg)) {
fatal("unsupported algorithm: %d", alg);
+ }
if (use_nsec3) {
switch (alg) {
}
if (type != NULL && (options & DST_TYPE_KEY) != 0) {
- if (strcasecmp(type, "NOAUTH") == 0)
+ if (strcasecmp(type, "NOAUTH") == 0) {
flags |= DNS_KEYTYPE_NOAUTH;
- else if (strcasecmp(type, "NOCONF") == 0)
+ } else if (strcasecmp(type, "NOCONF") == 0) {
flags |= DNS_KEYTYPE_NOCONF;
- else if (strcasecmp(type, "NOAUTHCONF") == 0) {
+ } else if (strcasecmp(type, "NOAUTHCONF") == 0) {
flags |= (DNS_KEYTYPE_NOAUTH |
DNS_KEYTYPE_NOCONF);
if (size < 0)
size = 0;
- }
- else if (strcasecmp(type, "AUTHCONF") == 0)
+ } else if (strcasecmp(type, "AUTHCONF") == 0) {
/* nothing */;
- else
+ } else {
fatal("invalid type %s", type);
+ }
}
if (size < 0) {
case DST_ALG_ED448:
size = 456;
break;
- case DST_ALG_HMACMD5:
- options |= DST_TYPE_KEY;
- if (size < 1 || size > 512)
- fatal("HMAC-MD5 key size %d out of range", size);
- if (dbits != 0 && (dbits < 80 || dbits > 128))
- fatal("HMAC-MD5 digest bits %d out of range", dbits);
- if ((dbits % 8) != 0)
- fatal("HMAC-MD5 digest bits %d not divisible by 8",
- dbits);
- break;
- case DST_ALG_HMACSHA1:
- options |= DST_TYPE_KEY;
- if (size < 1 || size > 160)
- fatal("HMAC-SHA1 key size %d out of range", size);
- if (dbits != 0 && (dbits < 80 || dbits > 160))
- fatal("HMAC-SHA1 digest bits %d out of range", dbits);
- if ((dbits % 8) != 0)
- fatal("HMAC-SHA1 digest bits %d not divisible by 8",
- dbits);
- break;
- case DST_ALG_HMACSHA224:
- options |= DST_TYPE_KEY;
- if (size < 1 || size > 224)
- fatal("HMAC-SHA224 key size %d out of range", size);
- if (dbits != 0 && (dbits < 112 || dbits > 224))
- fatal("HMAC-SHA224 digest bits %d out of range", dbits);
- if ((dbits % 8) != 0)
- fatal("HMAC-SHA224 digest bits %d not divisible by 8",
- dbits);
- break;
- case DST_ALG_HMACSHA256:
- options |= DST_TYPE_KEY;
- if (size < 1 || size > 256)
- fatal("HMAC-SHA256 key size %d out of range", size);
- if (dbits != 0 && (dbits < 128 || dbits > 256))
- fatal("HMAC-SHA256 digest bits %d out of range", dbits);
- if ((dbits % 8) != 0)
- fatal("HMAC-SHA256 digest bits %d not divisible by 8",
- dbits);
- break;
- case DST_ALG_HMACSHA384:
- options |= DST_TYPE_KEY;
- if (size < 1 || size > 384)
- fatal("HMAC-384 key size %d out of range", size);
- if (dbits != 0 && (dbits < 192 || dbits > 384))
- fatal("HMAC-SHA384 digest bits %d out of range", dbits);
- if ((dbits % 8) != 0)
- fatal("HMAC-SHA384 digest bits %d not divisible by 8",
- dbits);
- break;
- case DST_ALG_HMACSHA512:
- options |= DST_TYPE_KEY;
- if (size < 1 || size > 512)
- fatal("HMAC-SHA512 key size %d out of range", size);
- if (dbits != 0 && (dbits < 256 || dbits > 512))
- fatal("HMAC-SHA512 digest bits %d out of range", dbits);
- if ((dbits % 8) != 0)
- fatal("HMAC-SHA512 digest bits %d not divisible by 8",
- dbits);
- break;
}
if (alg != DNS_KEYALG_DH && generator != 0)
fatal("specified DH generator for a non-DH key");
if (nametype == NULL) {
- if ((options & DST_TYPE_KEY) != 0) /* KEY / HMAC */
+ if ((options & DST_TYPE_KEY) != 0) /* KEY */
fatal("no nametype specified");
flags |= DNS_KEYOWNER_ZONE; /* DNSKEY */
} else if (strcasecmp(nametype, "zone") == 0)
flags |= DNS_KEYOWNER_ZONE;
- else if ((options & DST_TYPE_KEY) != 0) { /* KEY / HMAC */
+ else if ((options & DST_TYPE_KEY) != 0) { /* KEY */
if (strcasecmp(nametype, "host") == 0 ||
strcasecmp(nametype, "entity") == 0)
flags |= DNS_KEYOWNER_ENTITY;
if (directory == NULL)
directory = ".";
- if ((options & DST_TYPE_KEY) != 0) /* KEY / HMAC */
+ if ((options & DST_TYPE_KEY) != 0) /* KEY */
flags |= signatory;
else if ((flags & DNS_KEYOWNER_ZONE) != 0) { /* DNSKEY */
flags |= kskflag;
}
if ((flags & DNS_KEYFLAG_OWNERMASK) == DNS_KEYOWNER_ZONE &&
- (alg == DNS_KEYALG_DH || alg == DST_ALG_HMACMD5 ||
- alg == DST_ALG_HMACSHA1 || alg == DST_ALG_HMACSHA224 ||
- alg == DST_ALG_HMACSHA256 || alg == DST_ALG_HMACSHA384 ||
- alg == DST_ALG_HMACSHA512))
+ alg == DNS_KEYALG_DH)
+ {
fatal("a key with algorithm '%s' cannot be a zone key",
algname);
+ }
switch(alg) {
case DNS_KEYALG_RSAMD5:
case DST_ALG_ED25519:
case DST_ALG_ED448:
show_progress = ISC_TRUE;
- /* fall through */
-
- case DST_ALG_HMACMD5:
- case DST_ALG_HMACSHA1:
- case DST_ALG_HMACSHA224:
- case DST_ALG_HMACSHA256:
- case DST_ALG_HMACSHA384:
- case DST_ALG_HMACSHA512:
- param = 0;
break;
}