Use argument defaults for getDefaultWireFormat() instead of a separate overloaded method.
diff --git a/ndn-cpp/security/key-chain.cpp b/ndn-cpp/security/key-chain.cpp
index a9248df..c456036 100644
--- a/ndn-cpp/security/key-chain.cpp
+++ b/ndn-cpp/security/key-chain.cpp
@@ -121,12 +121,6 @@
   sign(data, DEFAULT_PUBLIC_KEY_DER, sizeof(DEFAULT_PUBLIC_KEY_DER), DEFAULT_PRIVATE_KEY_DER, sizeof(DEFAULT_PRIVATE_KEY_DER), wireFormat);
 }
 
-void KeyChain::defaultSign(Data& data)
-{
-  sign(data, DEFAULT_PUBLIC_KEY_DER, sizeof(DEFAULT_PUBLIC_KEY_DER), DEFAULT_PRIVATE_KEY_DER, sizeof(DEFAULT_PRIVATE_KEY_DER),
-       *WireFormat::getDefaultWireFormat());
-}
-
 bool KeyChain::selfVerifyData(const unsigned char *input, unsigned int inputLength, WireFormat& wireFormat)
 {
   // Decode the data packet and digest the data fields.
diff --git a/ndn-cpp/security/key-chain.hpp b/ndn-cpp/security/key-chain.hpp
index 584ddc4..0afa4b5 100644
--- a/ndn-cpp/security/key-chain.hpp
+++ b/ndn-cpp/security/key-chain.hpp
@@ -31,17 +31,11 @@
   /**
    * Call sign with the default public and private keys.
    * @param data
-   * @param wireFormat The WireFormat for calling encodeData.
+   * @param wireFormat The WireFormat for calling encodeData, or WireFormat::getDefaultWireFormat() if omitted.
    */
-  static void defaultSign(Data& data, WireFormat& wireFormat);
+  static void defaultSign(Data& data, WireFormat& wireFormat = *WireFormat::getDefaultWireFormat());
 
   /**
-   * Call sign with the default public and private keys.  For wireFormat, use WireFormat::getDefaultWireFormat().
-   * @param data
-   */
-  static void defaultSign(Data& data);
-  
-  /**
    * Use the WireFormat to decode the input as a Data packet and use the public key in the key locator to 
    * verify the signature.
    * This does just uses the public key without checking whether it is certified.