Ed25519PrivateKeyManager extends PrivateKeyTypeManager<Ed25519PrivateKey, Ed25519PublicKey> { public static final KeyTemplate ed25519Template() { return KeyTemplate.create( new Ed25519PrivateKeyManager().getKeyType(), new byte[0], KeyTemplate.OutputPrefixType.TINK); } Ed25519PrivateKeyManager(); @Override String getKeyType(); @Override int getVersion(); @Override Ed25519PublicKey getPublicKey(Ed25519PrivateKey key); @Override KeyMaterialType keyMaterialType(); @Override Ed25519PrivateKey parseKey(ByteString byteString); @Override void validateKey(Ed25519PrivateKey keyProto); @Override KeyFactory<Ed25519KeyFormat, Ed25519PrivateKey> keyFactory(); static void registerPair(boolean newKeyAllowed); static final KeyTemplate ed25519Template(); static final KeyTemplate rawEd25519Template();  }
@Test public void testEd25519Template() throws Exception { KeyTemplate template = Ed25519PrivateKeyManager.ed25519Template(); assertThat(template.getTypeUrl()).isEqualTo(new Ed25519PrivateKeyManager().getKeyType()); assertThat(template.getOutputPrefixType()).isEqualTo(KeyTemplate.OutputPrefixType.TINK); Ed25519KeyFormat unused = Ed25519KeyFormat.parseFrom(template.getValue(), ExtensionRegistryLite.getEmptyRegistry()); }