summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Hurst <jhurst@cinecert.com>2020-09-08 16:05:24 -0700
committerGitHub <noreply@github.com>2020-09-08 16:05:24 -0700
commitd417531ed59434ecaee487adfdf54646408479bf (patch)
tree426cea84214117d225303d6a3378a4bc097dcbeb /src
parent193f45b42bd675d4735c3e47c09a2b6bb8ca9621 (diff)
parenta4985b67a013b29520f289ff671516bc712de468 (diff)
Merge pull request #40 from msheby/expose-mic-key
add API call to expose the MIC key from an encrypted MXF
Diffstat (limited to 'src')
-rwxr-xr-xsrc/AS_DCP.h5
-rwxr-xr-xsrc/AS_DCP_AES.cpp21
2 files changed, 26 insertions, 0 deletions
diff --git a/src/AS_DCP.h b/src/AS_DCP.h
index f089f06..fa8b00a 100755
--- a/src/AS_DCP.h
+++ b/src/AS_DCP.h
@@ -508,6 +508,11 @@ namespace ASDCP {
// point to a readable area of memory that is at least HMAC_SIZE bytes in length.
// Returns error if the buf argument is NULL or if the values do ot match.
Result_t TestHMACValue(const byte_t* buf) const;
+
+ // Writes MIC key to given buffer. buf must point to a writable area of
+ // memory that is at least KeyLen bytes in length. Returns error if the
+ // buf argument is NULL.
+ Result_t GetMICKey(byte_t* buf) const;
};
//---------------------------------------------------------------------------------
diff --git a/src/AS_DCP_AES.cpp b/src/AS_DCP_AES.cpp
index 379e8ab..6409f5b 100755
--- a/src/AS_DCP_AES.cpp
+++ b/src/AS_DCP_AES.cpp
@@ -349,6 +349,13 @@ public:
SHA1_Final(m_SHAValue, &SHA);
m_Final = true;
}
+
+ //
+ void
+ GetMICKey(byte_t* buf) const
+ {
+ memcpy(buf, m_key, KeyLen);
+ }
};
@@ -444,6 +451,20 @@ HMACContext::TestHMACValue(const byte_t* buf) const
}
+//
+Result_t
+HMACContext::GetMICKey(byte_t* buf) const
+{
+ KM_TEST_NULL_L(buf);
+
+ if ( m_Context.empty() )
+ return RESULT_INIT;
+
+ m_Context->GetMICKey(buf);
+ return RESULT_OK;
+}
+
+
//
// end AS_DCP_AES.cpp