Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions tool-openssl/dgst.cc
Original file line number Diff line number Diff line change
Expand Up @@ -511,3 +511,6 @@ bool dgstTool(const args_list_t &args) {
bool md5Tool(const args_list_t &args) {
return dgstToolInternal(args, EVP_md5());
}
bool sha1Tool(const args_list_t &args) {
return dgstToolInternal(args, EVP_sha1());
}
57 changes: 56 additions & 1 deletion tool-openssl/dgst_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,47 @@ TEST_F(DgstComparisonTest, SignAndVerify) {
EXPECT_EQ(awslc_hash, openssl_hash);
}

class MD5ComparisonTest : public DgstComparisonTest {};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice. thanks for adding coverage here :)


TEST_F(MD5ComparisonTest, Digest) {
// default digest
std::string awslc_command = std::string(awslc_executable_path) +
" md5 -out " + out_path_awslc + " " + in_path;

std::string openssl_command = std::string(openssl_executable_path) +
" md5 -out " + out_path_openssl + " " + in_path;

RunCommandsAndCompareOutput(awslc_command, openssl_command, out_path_awslc,
out_path_openssl, awslc_output_str,
openssl_output_str);

std::string awslc_hash = GetHash(awslc_output_str);
std::string openssl_hash = GetHash(openssl_output_str);

EXPECT_EQ(awslc_hash, openssl_hash);
}

class SHA1ComparisonTest : public DgstComparisonTest {};

TEST_F(SHA1ComparisonTest, Digest) {
// default digest
std::string awslc_command = std::string(awslc_executable_path) +
" sha1 -out " + out_path_awslc + " " + in_path;

std::string openssl_command = std::string(openssl_executable_path) +
" sha1 -out " + out_path_openssl + " " +
in_path;

RunCommandsAndCompareOutput(awslc_command, openssl_command, out_path_awslc,
out_path_openssl, awslc_output_str,
openssl_output_str);

std::string awslc_hash = GetHash(awslc_output_str);
std::string openssl_hash = GetHash(openssl_output_str);

EXPECT_EQ(awslc_hash, openssl_hash);
}

class DgstTest : public ::testing::Test {
protected:
void SetUp() override {
Expand Down Expand Up @@ -330,7 +371,7 @@ TEST_F(DgstTest, DigestDefault) {
EXPECT_TRUE(dgstTool(args));
}

TEST_F(DgstTest, DigestSHA1) {
TEST_F(DgstTest, CustomDigest) {
args_list_t args = {"-sha1", in_path};
EXPECT_TRUE(dgstTool(args));
}
Expand Down Expand Up @@ -404,3 +445,17 @@ TEST_F(DgstTest, PassinBasicIntegrationTest) {
bool result = dgstTool(args);
ASSERT_TRUE(result);
}

class MD5Test : public DgstTest {};

TEST_F(MD5Test, Sign) {
args_list_t args = {in_path};
EXPECT_TRUE(md5Tool(args));
}

class SHA1Test : public DgstTest {};

TEST_F(SHA1Test, Sign) {
args_list_t args = {in_path};
EXPECT_TRUE(sha1Tool(args));
}
1 change: 1 addition & 0 deletions tool-openssl/internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ bool pkeyutlTool(const args_list_t &args);
bool RehashTool(const args_list_t &args);
bool reqTool(const args_list_t &args);
bool rsaTool(const args_list_t &args);
bool sha1Tool(const args_list_t &args);
bool SClientTool(const args_list_t &args);
bool VerifyTool(const args_list_t &args);
bool VersionTool(const args_list_t &args);
Expand Down
3 changes: 2 additions & 1 deletion tool-openssl/tool.cc
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

#include "./internal.h"

static const std::array<Tool, 17> kTools = {{
static const std::array<Tool, 18> kTools = {{
{"crl", CRLTool},
{"dgst", dgstTool},
{"dhparam", dhparamTool},
Expand All @@ -29,6 +29,7 @@ static const std::array<Tool, 17> kTools = {{
{"rehash", RehashTool},
{"req", reqTool},
{"rsa", rsaTool},
{"sha1", sha1Tool},
{"s_client", SClientTool},
{"verify", VerifyTool},
{"version", VersionTool},
Expand Down
Loading