MCPcopy Create free account
hub / github.com/DeNA/PacketProxy / generateDSDigest

Method generateDSDigest

src/main/java/core/org/xbill/DNS/DNSSEC.java:1137–1166  ·  view source on GitHub ↗

Generate the digest value for a DS key @param key Which is covered by the DS record @param digestid The type of digest @return The digest value as an array of bytes

(DNSKEYRecord key, int digestid)

Source from the content-addressed store, hash-verified

1135 * @return The digest value as an array of bytes
1136 */
1137static byte []
1138generateDSDigest(DNSKEYRecord key, int digestid)
1139{
1140 MessageDigest digest;
1141 try {
1142 switch (digestid) {
1143 case DSRecord.Digest.SHA1:
1144 digest = MessageDigest.getInstance("sha-1");
1145 break;
1146 case DSRecord.Digest.SHA256:
1147 digest = MessageDigest.getInstance("sha-256");
1148 break;
1149 case DSRecord.Digest.GOST3411:
1150 digest = MessageDigest.getInstance("GOST3411");
1151 break;
1152 case DSRecord.Digest.SHA384:
1153 digest = MessageDigest.getInstance("sha-384");
1154 break;
1155 default:
1156 throw new IllegalArgumentException(
1157 "unknown DS digest type " + digestid);
1158 }
1159 }
1160 catch (NoSuchAlgorithmException e) {
1161 throw new IllegalStateException("no message digest support");
1162 }
1163 digest.update(key.getName().toWireCanonical());
1164 digest.update(key.rdataToWireCanonical());
1165 return digest.digest();
1166}
1167
1168}

Callers 1

DSRecordMethod · 0.95

Calls 5

rdataToWireCanonicalMethod · 0.80
getNameMethod · 0.65
getInstanceMethod · 0.45
updateMethod · 0.45
toWireCanonicalMethod · 0.45

Tested by

no test coverage detected