Search in sources :

Example 1 with Ed25519Signature

use of co.krypt.krypton.pgp.packet.Ed25519Signature in project krypton-android by kryptco.

the class EdSSHKeyPair method pgpSign.

@Override
public Signature pgpSign(HashAlgorithm hash, byte[] data) throws PGPException, NoSuchAlgorithmException, CryptoException, SignatureException, NoSuchProviderException, InvalidKeyException, InvalidKeySpecException {
    byte[] signatureBytes = signDigest(hash.digest().digest(data));
    if (signatureBytes.length != 64) {
        throw new SodiumException("unexpected signature length");
    }
    byte[] r = Arrays.copyOfRange(signatureBytes, 0, 32);
    byte[] s = Arrays.copyOfRange(signatureBytes, 32, 64);
    return new Ed25519Signature(new MPInt(r), new MPInt(s));
}
Also used : SodiumException(co.krypt.krypton.exception.SodiumException) Ed25519Signature(co.krypt.krypton.pgp.packet.Ed25519Signature) MPInt(co.krypt.krypton.pgp.packet.MPInt)

Aggregations

SodiumException (co.krypt.krypton.exception.SodiumException)1 Ed25519Signature (co.krypt.krypton.pgp.packet.Ed25519Signature)1 MPInt (co.krypt.krypton.pgp.packet.MPInt)1