@Test
  public void testSignatureVerificationOptionIgnore() throws Exception {

    // encryptor is sending a PGP message with signature! Decryptor is ignoreing the signature
    decryptor.setSignatureVerificationOption(PGPDataFormat.SIGNATURE_VERIFICATION_OPTION_IGNORE);
    decryptor.setSignatureKeyUserids(null);
    decryptor.setSignatureKeyFileName(
        null); // no public keyring! --> no signature validation possible

    String payload = "Test Message";
    MockEndpoint mock = getMockEndpoint("mock:unencrypted");
    mock.expectedBodiesReceived(payload);
    template.sendBody("direct:subkey", payload);
    assertMockEndpointsSatisfied();
  }
  @Test
  public void testExceptionForSignatureVerificationOptionRequired() throws Exception {

    encryptor.setSignatureKeyUserid(null); // no signature
    decryptor.setSignatureVerificationOption(PGPDataFormat.SIGNATURE_VERIFICATION_OPTION_REQUIRED);

    MockEndpoint mock = getMockEndpoint("mock:exception");
    mock.expectedMessageCount(1);
    template.sendBody("direct:subkey", "Test Message");
    assertMockEndpointsSatisfied();

    checkThrownException(
        mock,
        PGPException.class,
        null,
        "PGP message does not contain any signatures although a signature is expected");
  }
  @Test
  public void testExceptionForSignatureVerificationOptionNoSignatureAllowed() throws Exception {

    decryptor.setSignatureVerificationOption(
        PGPDataFormat.SIGNATURE_VERIFICATION_OPTION_NO_SIGNATURE_ALLOWED);

    MockEndpoint mock = getMockEndpoint("mock:exception");
    mock.expectedMessageCount(1);
    template.sendBody("direct:subkey", "Test Message");
    assertMockEndpointsSatisfied();

    checkThrownException(
        mock,
        PGPException.class,
        null,
        "PGP message contains a signature although a signature is not expected");
  }