diff --git a/src/XML/ds/AbstractKeyInfoType.php b/src/XML/ds/AbstractKeyInfoType.php index 3753e670..1a227ea2 100644 --- a/src/XML/ds/AbstractKeyInfoType.php +++ b/src/XML/ds/AbstractKeyInfoType.php @@ -36,6 +36,7 @@ abstract class AbstractKeyInfoType extends AbstractDsElement * \SimpleSAML\XMLSecurity\XML\ds\RetrievalMethod| * \SimpleSAML\XMLSecurity\XML\ds\X509Data| * \SimpleSAML\XMLSecurity\XML\ds\PGPData| + * \SimpleSAML\XMLSecurity\XML\ds\MgmtData| * \SimpleSAML\XML\SerializableElementInterface * )[] $info * @param string|null $Id @@ -65,7 +66,15 @@ final public function __construct( if ($item instanceof AbstractDsElement) { Assert::isInstanceOfAny( $item, - [KeyName::class, KeyValue::class, RetrievalMethod::class, X509Data::class, PGPData::class], + [ + KeyName::class, + KeyValue::class, + RetrievalMethod::class, + X509Data::class, + PGPData::class, + // SPKIData::class, + MgmtData::class, + ], SchemaViolationException::class, ); } diff --git a/tests/XML/ds/KeyInfoTest.php b/tests/XML/ds/KeyInfoTest.php index 1ba1c1a2..d0cc384b 100644 --- a/tests/XML/ds/KeyInfoTest.php +++ b/tests/XML/ds/KeyInfoTest.php @@ -16,6 +16,7 @@ use SimpleSAML\XMLSecurity\XML\ds\AbstractKeyInfoType; use SimpleSAML\XMLSecurity\XML\ds\KeyInfo; use SimpleSAML\XMLSecurity\XML\ds\KeyName; +use SimpleSAML\XMLSecurity\XML\ds\MgmtData; use SimpleSAML\XMLSecurity\XML\ds\PGPData; use SimpleSAML\XMLSecurity\XML\ds\PGPKeyID; use SimpleSAML\XMLSecurity\XML\ds\PGPKeyPacket; @@ -105,6 +106,7 @@ public function testMarshalling(): void new PGPKeyPacket('GpM8'), [new P('/CTj03d1DB5e2t7CTo9BEzCf5S9NRzwnBgZRlm32REI=')], ), + new MgmtData('ManagementData'), new Chunk(DOMDocumentFactory::fromString( 'some', )->documentElement), diff --git a/tests/XML/xenc/OriginatorKeyInfoTest.php b/tests/XML/xenc/OriginatorKeyInfoTest.php index 947f9d61..8b78e00c 100644 --- a/tests/XML/xenc/OriginatorKeyInfoTest.php +++ b/tests/XML/xenc/OriginatorKeyInfoTest.php @@ -14,6 +14,7 @@ use SimpleSAML\XMLSecurity\XML\ds\AbstractDsElement; use SimpleSAML\XMLSecurity\XML\ds\AbstractKeyInfoType; use SimpleSAML\XMLSecurity\XML\ds\KeyName; +use SimpleSAML\XMLSecurity\XML\ds\MgmtData; use SimpleSAML\XMLSecurity\XML\ds\PGPData; use SimpleSAML\XMLSecurity\XML\ds\PGPKeyID; use SimpleSAML\XMLSecurity\XML\ds\PGPKeyPacket; @@ -101,6 +102,7 @@ public function testMarshalling(): void new PGPKeyPacket('GpM8'), [new P('/CTj03d1DB5e2t7CTo9BEzCf5S9NRzwnBgZRlm32REI=')], ), + new MgmtData('ManagementData'), new Chunk(DOMDocumentFactory::fromString( 'some', )->documentElement), diff --git a/tests/XML/xenc/RecipientKeyInfoTest.php b/tests/XML/xenc/RecipientKeyInfoTest.php index 7197a0e0..e59658ea 100644 --- a/tests/XML/xenc/RecipientKeyInfoTest.php +++ b/tests/XML/xenc/RecipientKeyInfoTest.php @@ -14,6 +14,7 @@ use SimpleSAML\XMLSecurity\XML\ds\AbstractDsElement; use SimpleSAML\XMLSecurity\XML\ds\AbstractKeyInfoType; use SimpleSAML\XMLSecurity\XML\ds\KeyName; +use SimpleSAML\XMLSecurity\XML\ds\MgmtData; use SimpleSAML\XMLSecurity\XML\ds\PGPData; use SimpleSAML\XMLSecurity\XML\ds\PGPKeyID; use SimpleSAML\XMLSecurity\XML\ds\PGPKeyPacket; @@ -101,6 +102,7 @@ public function testMarshalling(): void new PGPKeyPacket('GpM8'), [new P('/CTj03d1DB5e2t7CTo9BEzCf5S9NRzwnBgZRlm32REI=')], ), + new MgmtData('ManagementData'), new Chunk(DOMDocumentFactory::fromString( 'some', )->documentElement), diff --git a/tests/resources/xml/ds_KeyInfo.xml b/tests/resources/xml/ds_KeyInfo.xml index 4a051ea7..ed6730e4 100644 --- a/tests/resources/xml/ds_KeyInfo.xml +++ b/tests/resources/xml/ds_KeyInfo.xml @@ -9,5 +9,6 @@ GpM8 /CTj03d1DB5e2t7CTo9BEzCf5S9NRzwnBgZRlm32REI= + ManagementData some diff --git a/tests/resources/xml/ds_Signature.xml b/tests/resources/xml/ds_Signature.xml index 66b7595f..9e23abb8 100644 --- a/tests/resources/xml/ds_Signature.xml +++ b/tests/resources/xml/ds_Signature.xml @@ -23,6 +23,7 @@ GpM8 /CTj03d1DB5e2t7CTo9BEzCf5S9NRzwnBgZRlm32REI= + ManagementData some diff --git a/tests/resources/xml/xenc_OriginatorKeyInfo.xml b/tests/resources/xml/xenc_OriginatorKeyInfo.xml index 121f7edf..4472feab 100644 --- a/tests/resources/xml/xenc_OriginatorKeyInfo.xml +++ b/tests/resources/xml/xenc_OriginatorKeyInfo.xml @@ -9,5 +9,6 @@ GpM8 /CTj03d1DB5e2t7CTo9BEzCf5S9NRzwnBgZRlm32REI= + ManagementData some diff --git a/tests/resources/xml/xenc_RecipientKeyInfo.xml b/tests/resources/xml/xenc_RecipientKeyInfo.xml index 36a43030..4dcff148 100644 --- a/tests/resources/xml/xenc_RecipientKeyInfo.xml +++ b/tests/resources/xml/xenc_RecipientKeyInfo.xml @@ -9,5 +9,6 @@ GpM8 /CTj03d1DB5e2t7CTo9BEzCf5S9NRzwnBgZRlm32REI= + ManagementData some