@Test
  public void validSignature() {
    final KeyPair keyPair = CertificateUtils.generateKeyPair();
    final byte[] challenge = CertificateUtils.generateChallenge();
    final byte[] salt = CertificateUtils.generateChallenge();

    final byte[] signature = CertificateUtils.signChallenge(keyPair.getPrivate(), challenge, salt);

    CertificateUtils.validateSignature(keyPair.getPublic(), challenge, salt, signature);
  }
  @Test(expectedExceptions = InvalidSignatureException.class)
  public void invalidSignature() {
    final KeyPair keyPair = CertificateUtils.generateKeyPair();
    final byte[] challenge = CertificateUtils.generateChallenge();
    final byte[] salt = CertificateUtils.generateChallenge();

    final byte[] signature = CertificateUtils.signChallenge(keyPair.getPrivate(), challenge, salt);

    salt[0]++;
    CertificateUtils.validateSignature(keyPair.getPublic(), challenge, salt, signature);
  }