/** * @return null if unset or unknown */ public SigType getSigType() { return SigType.getByCode(getSigTypeCode()); }
@Override public String toString() { StringBuilder buf = new StringBuilder(64); buf.append("[Certificate: type: Key certificate"); if (_payload == null) { buf.append(" null payload"); } else { buf.append("\n\tCrypto type: ").append(getCryptoTypeCode()); buf.append("\n\tSig type: ").append(getSigTypeCode()) .append(" (").append(getSigType()).append(')'); if (_payload.length > HEADER_LENGTH) buf.append("\n\tKey data: ").append(_payload.length - HEADER_LENGTH).append(" bytes"); } buf.append("]"); return buf.toString(); }
@Test public void testFromP256Payload() throws DataFormatException { KeyCertificate cert = new KeyCertificate(P256_PAYLOAD); assertThat(cert.getSigTypeCode(), is(equalTo(SigType.ECDSA_SHA256_P256.getCode()))); assertThat(cert.getCryptoTypeCode(), is(equalTo(EncType.EC_P256.getCode()))); assertThat(cert.getExtraSigningKeyData(), is(nullValue())); }
@Test public void testFromEd25519Payload() throws DataFormatException { KeyCertificate cert = new KeyCertificate(P521_PAYLOAD); assertThat(cert.getSigTypeCode(), is(equalTo(SigType.ECDSA_SHA512_P521.getCode()))); assertThat(cert.getCryptoTypeCode(), is(equalTo(EncType.ELGAMAL_2048.getCode()))); assertThat(cert.getExtraSigningKeyData().length, is(4)); } }
if (type == null || !type.isAvailable() || type.getBaseAlgorithm() == SigAlgo.RSA) { failPermanently(d); String stype = (type != null) ? type.toString() : Integer.toString(kc.getSigTypeCode()); if (_log.shouldLog(Log.WARN)) _log.warn("Unsupported sig type " + stype + " for destination " + h); SigType type = kc.getSigType(); if (type == null || !type.isAvailable()) { String stype = (type != null) ? type.toString() : Integer.toString(kc.getSigTypeCode()); _context.banlist().banlistRouterForever(h, "Unsupported signature type " + stype); if (_log.shouldLog(Log.WARN))