/** Converts the RRSIG/SIG Record to a String */ public String rdataToString() { StringBuffer sb = new StringBuffer(); if (signature != null) { sb.append(Type.string(covered)); sb.append(" "); sb.append(alg); sb.append(" "); sb.append(labels); sb.append(" "); sb.append(origttl); sb.append(" "); if (Options.check("multiline")) sb.append("(\n\t"); sb.append(FormattedTime.format(expire)); sb.append(" "); sb.append(FormattedTime.format(timeSigned)); sb.append(" "); sb.append(footprint); sb.append(" "); sb.append(signer); if (Options.check("multiline")) { sb.append("\n"); sb.append(base64.formatString(signature, 64, "\t", true)); } else { sb.append(" "); sb.append(base64.toString(signature)); } } return sb.toString(); }
protected static Record rdataFromString(SIGBase rec, Tokenizer st, Name origin) throws IOException { String typeString = st.getString(); int covered = Type.value(typeString); if (covered < 0) throw st.exception("Invalid type: " + typeString); rec.covered = covered; String algString = st.getString(); int alg = DNSSEC.Algorithm.value(algString); if (alg < 0) throw st.exception("Invalid algorithm: " + algString); rec.alg = alg; rec.labels = st.getUInt8(); rec.origttl = st.getTTL(); rec.expire = FormattedTime.parse(st.getString()); rec.timeSigned = FormattedTime.parse(st.getString()); rec.footprint = st.getUInt16(); rec.signer = st.getName(origin); rec.signature = st.getBase64(); return rec; }