security: New generalized signing API in KeyChain

A new API in KeyChain introduces a general interface to sign interest
and data packets and supply necessary signing information, such as
signing identity name, signing key name, or signing certificate name.
In addition, the supplied signing information can include additional
information that signer wants to include in the SignatureInfo of the
signed packet.

Old sign methods `KeyChain::sign(Packet, Name)`, `KeyChain::sign(uint8_t*, size_t, Name)`,
`KeyChain::signByIdentity(Packet, Name)`, `KeyChain::signByIdentity(uint8_t*, size_t, Name)`,
`KeyChain::signWithSha256(Data)`, and `KeyChain::signWithSha256(Interest)`
are now deprecated and will be removed in the next release.

Change-Id: I086e6c6522f70bcb7799e7dfc4cc4b2f8a3816a0
Refs: #2871, #1705
27 files changed
tree: 4db0308014ecba2dc69f8efc9d177aae2317ba7a
  1. .jenkins.d/
  2. .waf-tools/
  3. docs/
  4. examples/
  5. src/
  6. tests/
  7. tools/
  8. .gitignore
  9. .jenkins
  10. .travis.yml
  11. AUTHORS.md
  12. client.conf.sample
  13. COPYING.md
  14. libndn-cxx.pc.in
  15. README-dev.md
  16. README.md
  17. waf
  18. wscript
README.md

ndn-cxx: NDN C++ library with eXperimental eXtensions

ndn-cxx is a C++ library, implementing Named Data Networking (NDN) primitives that can be used to implement various NDN applications. The library is currently being used as part of the following projects:

See the file docs/INSTALL.rst for build and install instructions.

Please submit any bugs or issues to the ndn-cxx issue tracker: http://redmine.named-data.net/projects/ndn-cxx/issues

More documentation

Extensive documentation of the library is available on the library's homepage: http://www.named-data.net/doc/ndn-cxx/

License

ndn-cxx is an open source project licensed under LGPL 3.0 license. For more information about the license, refer to COPYING.md.