security: Introduce unsetKeyLocator method into SignatureInfo and Signature
Some specific signature types also provide an advisory (non-virtual)
override for unsetKeyLocator that disables reset and throws an
Exception. As before, if an application really wants, it still can
unset the KeyLocator by setting a new SignatureInfo without the
KeyLocator.
Change-Id: Ibefd5f9ffbcb91f8a83e76db8704cba1b984f914
Refs: #1750
diff --git a/src/signature-info.cpp b/src/signature-info.cpp
index 2543dd2..20e013f 100644
--- a/src/signature-info.cpp
+++ b/src/signature-info.cpp
@@ -63,6 +63,14 @@
m_hasKeyLocator = true;
}
+void
+SignatureInfo::unsetKeyLocator()
+{
+ m_wire.reset();
+ m_keyLocator = KeyLocator();
+ m_hasKeyLocator = false;
+}
+
const KeyLocator&
SignatureInfo::getKeyLocator() const
{