security: Reorganizing source code to prepare for support of two version of NDN certificates
This commit also removes unused ndn_digestSha256 function and deprecates
crypto::sha256 in favor of crypto::computeSha256Digest in util/crypto.hpp.
Change-Id: I24ee50ff073a96b868633bdf2cfade412d3605f3
Refs: #3098
diff --git a/src/util/crypto.cpp b/src/util/crypto.cpp
index c480401..1e22c0e 100644
--- a/src/util/crypto.cpp
+++ b/src/util/crypto.cpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2013-2014 Regents of the University of California.
+ * Copyright (c) 2013-2016 Regents of the University of California.
*
* This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
*
@@ -19,52 +19,28 @@
* See AUTHORS.md for complete list of ndn-cxx authors and contributors.
*/
-#include "../common.hpp"
-
#include "crypto.hpp"
#include "../encoding/buffer-stream.hpp"
-#include "../security/cryptopp.hpp"
+
+#include "../security/v1/cryptopp.hpp"
namespace ndn {
-
-void ndn_digestSha256(const uint8_t* data, size_t dataLength, uint8_t* digest)
-{
- try
- {
- using namespace CryptoPP;
-
- CryptoPP::SHA256 hash;
- OBufferStream os;
- StringSource(data, dataLength, true,
- new HashFilter(hash, new ArraySink(digest, crypto::SHA256_DIGEST_SIZE)));
- }
- catch (CryptoPP::Exception& e)
- {
- return;
- }
-
-}
-
namespace crypto {
ConstBufferPtr
-sha256(const uint8_t* data, size_t dataLength)
+computeSha256Digest(const uint8_t* data, size_t dataLength)
{
- try
- {
- using namespace CryptoPP;
-
- SHA256 hash;
- OBufferStream os;
- StringSource(data, dataLength, true, new HashFilter(hash, new FileSink(os)));
- return os.buf();
- }
- catch (CryptoPP::Exception& e)
- {
- return ConstBufferPtr();
- }
+ try {
+ CryptoPP::SHA256 hash;
+ OBufferStream os;
+ CryptoPP::StringSource(data, dataLength, true,
+ new CryptoPP::HashFilter(hash, new CryptoPP::FileSink(os)));
+ return os.buf();
+ }
+ catch (CryptoPP::Exception& e) {
+ return ConstBufferPtr();
+ }
}
} // namespace crypto
-
} // namespace ndn