diff --git a/util/digest.go b/util/digest.go index 620b02e..7230786 100644 --- a/util/digest.go +++ b/util/digest.go @@ -23,6 +23,8 @@ func ComputeFileChecksum(filePath, algorithm string) (string, error) { hasher = sha1.New() case "SHA256": hasher = sha256.New() + case "SHA384", "SHA-384": + hasher = sha512.New384() case "SHA512": hasher = sha512.New() default: diff --git a/util/digest_test.go b/util/digest_test.go index 4d75de1..de5604d 100644 --- a/util/digest_test.go +++ b/util/digest_test.go @@ -46,6 +46,15 @@ var _ = Describe("Digest", func() { }) }) + Context("with SHA-384 algorithm name (as returned by deploy service for FIPS+NCS)", func() { + It("should compute the SHA-384 digest of the file", func() { + const testFileContent = "test file content" + os.WriteFile(testFile.Name(), []byte(testFileContent), 0644) + digest, err := util.ComputeFileChecksum(testFilePath, "SHA-384") + testutil.ExpectNoErrorAndResult(err, digest, "4b87814537ab46771af4f37f259d6321f8c36b9e0d9ed1eda10005031cf7de752b9937a9cfe02744a3fc9785c3106317") + }) + }) + AfterEach(func() { testFile.Close() os.Remove(testFileName)