@@ -34,6 +34,56 @@ public function testNoUnsigned()
3434 }
3535 }
3636
37+ public function testCreateFromContent ()
38+ {
39+ $ signedData = SignedData::createFromContent ($ this ->getWithDataNoUnsignedCMS ());
40+ foreach ($ signedData ->getSignedDataContent ()->getSignerInfoSet () as $ signerInfo ) {
41+ $ binary = $ signerInfo ->getBinary ();
42+ $ value = SignerInfo::createFromContent ($ binary );
43+ self ::assertInstanceOf (SignerInfo::class, $ value );
44+ self ::assertEquals ($ value ->getBinary (), $ binary );
45+ }
46+ }
47+
48+ public function testReplaceAttribute ()
49+ {
50+ $ signedData = SignedData::createFromContent ($ this ->getWithDataNoUnsignedCMS ());
51+ self ::assertInstanceOf (SignedData::class, $ signedData );
52+
53+ $ signedDataContent = $ signedData ->getSignedDataContent ();
54+ self ::assertInstanceOf (SignedDataContent::class, $ signedDataContent );
55+
56+ foreach ($ signedDataContent ->getSignerInfoSet () as $ signerInfo ) {
57+ self ::assertInstanceOf (SignerInfo::class, $ signerInfo );
58+
59+ $ unsignedAttributes = $ signerInfo ->getUnsignedAttributes ();
60+
61+ self ::assertNull ($ unsignedAttributes );
62+
63+ $ TimeStampResponse = TimeStampResponse::createFromContent ($ this ->getTimeStampResponse ());
64+ $ TimeStampToken = TimeStampToken::createFromTimeStampResponse ($ TimeStampResponse );
65+ $ signerInfo ->addUnsignedAttribute ($ TimeStampToken );
66+ $ signerInfo ->addUnsignedAttribute ($ TimeStampToken );
67+
68+ $ unsignedAttributes = $ signerInfo ->getUnsignedAttributes ();
69+ $ OCSPResponse = OCSPResponse::createFromContent ($ this ->getOCSPResponse ());
70+ $ unsignedAttributes ->setRevocationValues ($ OCSPResponse ->getBasicOCSPResponse ());
71+
72+ $ signerInfo ->deleteUnsignedAttributes ();
73+
74+ self ::assertNull ($ signerInfo ->getUnsignedAttributes ());
75+
76+ $ RevocationValues = RevocationValues::createFromOCSPResponse ($ OCSPResponse ->getBasicOCSPResponse ());
77+ $ signerInfo ->addUnsignedAttribute ($ RevocationValues );
78+ $ unsignedAttributes = $ signerInfo ->getUnsignedAttributes ();
79+
80+ self ::assertNotNull ($ signerInfo ->getUnsignedAttributes ());
81+
82+ $ unsignedAttributes ->setTimeStampToken ($ TimeStampResponse );
83+
84+ }
85+ }
86+
3787 public function testUnsigned ()
3888 {
3989 $ signedData = SignedData::createFromContent ($ this ->getSetOfUnsignedCMS ());
@@ -59,9 +109,9 @@ public function testUnsigned()
59109 self ::assertInstanceOf (RevocationValues::class, $ unsignedAttributes ->getRevocationValues ());
60110 self ::assertInstanceOf (TimeStampToken::class, $ unsignedAttributes ->getTimeStampToken ());
61111
62- $ signerInfo ->deleteUnsignedAttributes ();
112+ $ signerInfo ->deleteUnsignedAttributes ();
63113
64- self ::assertNull ($ signerInfo ->getUnsignedAttributes ());
114+ self ::assertNull ($ signerInfo ->getUnsignedAttributes ());
65115 }
66116 }
67117
0 commit comments