/** * @since 0.9.25 */ @Override public boolean equals(Object o) { if (o == this) return true; if (!(o instanceof EdDSAPublicKey)) return false; EdDSAPublicKey pk = (EdDSAPublicKey) o; return Arrays.equals(Abyte, pk.getAbyte()) && edDsaSpec.equals(pk.getParams()); } }
@SuppressWarnings("unchecked") protected <T extends KeySpec> T engineGetKeySpec(Key key, Class<T> keySpec) throws InvalidKeySpecException { if (keySpec.isAssignableFrom(EdDSAPublicKeySpec.class) && key instanceof EdDSAPublicKey) { EdDSAPublicKey k = (EdDSAPublicKey) key; if (k.getParams() != null) { return (T) new EdDSAPublicKeySpec(k.getA(), k.getParams()); } } else if (keySpec.isAssignableFrom(EdDSAPrivateKeySpec.class) && key instanceof EdDSAPrivateKey) { EdDSAPrivateKey k = (EdDSAPrivateKey) key; if (k.getParams() != null) { return (T) new EdDSAPrivateKeySpec(k.getSeed(), k.getH(), k.geta(), k.getA(), k.getParams()); } } throw new InvalidKeySpecException("not implemented yet " + key + " " + keySpec); }
@Override public boolean equals(Object o) { if (o == this) return true; if (!(o instanceof EdDSAPublicKey)) return false; EdDSAPublicKey pk = (EdDSAPublicKey) o; return Arrays.equals(Abyte, pk.getAbyte()) && edDsaSpec.equals(pk.getParams()); } }
public static boolean compareEDDSAPPublicKeys(PublicKey k1, PublicKey k2) { if (!SecurityUtils.isEDDSACurveSupported()) { return false; } if ((k1 instanceof EdDSAPublicKey) && (k2 instanceof EdDSAPublicKey)) { if (Objects.equals(k1, k2)) { return true; } else if (k1 == null || k2 == null) { return false; // both null is covered by Objects#equals } EdDSAPublicKey ed1 = (EdDSAPublicKey) k1; EdDSAPublicKey ed2 = (EdDSAPublicKey) k2; return Arrays.equals(ed1.getAbyte(), ed2.getAbyte()) && compareEDDSAKeyParams(ed1.getParams(), ed2.getParams()); } return false; }
public static boolean compareEDDSAPPublicKeys(PublicKey k1, PublicKey k2) { if (!SecurityUtils.isEDDSACurveSupported()) { return false; } if ((k1 instanceof EdDSAPublicKey) && (k2 instanceof EdDSAPublicKey)) { if (Objects.equals(k1, k2)) { return true; } else if (k1 == null || k2 == null) { return false; // both null is covered by Objects#equals } EdDSAPublicKey ed1 = (EdDSAPublicKey) k1; EdDSAPublicKey ed2 = (EdDSAPublicKey) k2; return Arrays.equals(ed1.getAbyte(), ed2.getAbyte()) && compareEDDSAKeyParams(ed1.getParams(), ed2.getParams()); } return false; }
@Override public EdDSAPublicKey clonePublicKey(EdDSAPublicKey key) throws GeneralSecurityException { if (key == null) { return null; } else { return generatePublicKey(new EdDSAPublicKeySpec(key.getA(), key.getParams())); } }
@Override public EdDSAPublicKey clonePublicKey(EdDSAPublicKey key) throws GeneralSecurityException { if (key == null) { return null; } else { return generatePublicKey(new EdDSAPublicKeySpec(key.getA(), key.getParams())); } }
@Override public EdDSAPublicKey clonePublicKey(EdDSAPublicKey key) throws GeneralSecurityException { if (key == null) { return null; } else { return generatePublicKey(new EdDSAPublicKeySpec(key.getA(), key.getParams())); } }
@Override public EdDSAPublicKey clonePublicKey(EdDSAPublicKey key) throws GeneralSecurityException { if (key == null) { return null; } else { return generatePublicKey(new EdDSAPublicKeySpec(key.getA(), key.getParams())); } }
@SuppressWarnings("unchecked") protected <T extends KeySpec> T engineGetKeySpec(Key key, Class<T> keySpec) throws InvalidKeySpecException { if (keySpec.isAssignableFrom(EdDSAPublicKeySpec.class) && key instanceof EdDSAPublicKey) { EdDSAPublicKey k = (EdDSAPublicKey) key; if (k.getParams() != null) { return (T) new EdDSAPublicKeySpec(k.getA(), k.getParams()); } } else if (keySpec.isAssignableFrom(EdDSAPrivateKeySpec.class) && key instanceof EdDSAPrivateKey) { EdDSAPrivateKey k = (EdDSAPrivateKey) key; if (k.getParams() != null) { return (T) new EdDSAPrivateKeySpec(k.getSeed(), k.getH(), k.geta(), k.getA(), k.getParams()); } } throw new InvalidKeySpecException("not implemented yet " + key + " " + keySpec); }