diff --git a/src/main/java/com/intel/jndn/mock/MockFace.java b/src/main/java/com/intel/jndn/mock/MockFace.java
index dc1661a..8f2888b 100644
--- a/src/main/java/com/intel/jndn/mock/MockFace.java
+++ b/src/main/java/com/intel/jndn/mock/MockFace.java
@@ -25,6 +25,8 @@
 import net.named_data.jndn.encoding.tlv.TlvDecoder;
 import net.named_data.jndn.security.KeyChain;
 import net.named_data.jndn.security.SecurityException;
+import net.named_data.jndn.security.pib.PibImpl;
+import net.named_data.jndn.security.tpm.TpmBackEnd;
 import net.named_data.jndn.transport.Transport;
 
 import java.nio.ByteBuffer;
@@ -90,7 +92,7 @@
      * Callback called when an Interest is sent out through face (towards NFD).
      * @param interest interest being sent out
      */
-    void emit(final Interest interest);
+    void emit(Interest interest);
   }
 
   /**
@@ -102,7 +104,7 @@
      *
      * @param data data being sent out
      */
-    void emit(final Data data);
+    void emit(Data data);
   }
 
   /**
@@ -296,7 +298,7 @@
       data.setContent(response.wireEncode());
       try {
         keyChain.sign(data);
-      } catch (SecurityException e) {
+      } catch (SecurityException | KeyChain.Error | TpmBackEnd.Error | PibImpl.Error e) {
         LOGGER.log(Level.FINE, "MockKeyChain signing failed", e);
       }
 
diff --git a/src/main/java/com/intel/jndn/mock/forwarder/OnPrefixRegistration.java b/src/main/java/com/intel/jndn/mock/forwarder/OnPrefixRegistration.java
index 3bbf56e..670445a 100644
--- a/src/main/java/com/intel/jndn/mock/forwarder/OnPrefixRegistration.java
+++ b/src/main/java/com/intel/jndn/mock/forwarder/OnPrefixRegistration.java
@@ -24,6 +24,8 @@
 import net.named_data.jndn.encoding.EncodingException;
 import net.named_data.jndn.security.KeyChain;
 import net.named_data.jndn.security.SecurityException;
+import net.named_data.jndn.security.pib.PibImpl;
+import net.named_data.jndn.security.tpm.TpmBackEnd;
 import net.named_data.jndn.transport.Transport;
 
 import java.io.IOException;
@@ -96,7 +98,7 @@
   private void signResponse(Data data) {
     try {
       keyChain.sign(data);
-    } catch (SecurityException e) {
+    } catch (SecurityException | KeyChain.Error | TpmBackEnd.Error | PibImpl.Error e) {
       LOGGER.log(Level.FINE, "MockKeyChain signing failed", e);
     }
   }
