Skip to content

Commit 498acae

Browse files
committed
fix RevocationValues map and creation
1 parent 8963f6b commit 498acae

4 files changed

Lines changed: 44 additions & 20 deletions

File tree

src/RevocationValues.php

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -30,41 +30,28 @@ class RevocationValues extends \Adapik\CMS\RevocationValues
3030
/**
3131
* @param BasicOCSPResponse|null $basicOCSPResponse
3232
* @param CertificateList|null $certificateList
33-
* @param Sequence|null $otherRevValues
3433
* @return RevocationValues
3534
* @throws ParserException
3635
*/
37-
public static function createFromOCSPResponse(?BasicOCSPResponse $basicOCSPResponse = null, ?CertificateList $certificateList = null, ?Sequence $otherRevValues = null): self
36+
public static function createFromOCSPResponse(?BasicOCSPResponse $basicOCSPResponse = null, ?CertificateList $certificateList = null): self
3837
{
39-
return new self(self::sequenceFromOCSPResponse($basicOCSPResponse, $certificateList, $otherRevValues));
38+
return new self(self::sequenceFromOCSPResponse($basicOCSPResponse, $certificateList));
4039
}
4140

4241
/**
4342
* @param BasicOCSPResponse|null $basicOCSPResponse
4443
* @param CertificateList|null $certificateList
45-
* @param Sequence|null $otherRevValues
4644
* @return Sequence
4745
* @throws ParserException
4846
*/
49-
public static function sequenceFromOCSPResponse(?BasicOCSPResponse $basicOCSPResponse = null, ?CertificateList $certificateList = null, ?Sequence $otherRevValues = null): Sequence
47+
public static function sequenceFromOCSPResponse(?BasicOCSPResponse $basicOCSPResponse = null, ?CertificateList $certificateList = null): Sequence
5048
{
51-
if (is_null($basicOCSPResponse) and is_null($certificateList) and is_null($otherRevValues)) {
49+
if (is_null($basicOCSPResponse) and is_null($certificateList)) {
5250
throw new Exception("At least 1 parameter must be not null");
5351
}
5452

5553
$values = [];
5654

57-
if (!is_null($basicOCSPResponse)) {
58-
$binary = $basicOCSPResponse->getBinary();
59-
60-
$values[] = ExplicitlyTaggedObject::create(1,
61-
Sequence::create([
62-
Sequence::fromBinary($binary),
63-
]
64-
)
65-
);
66-
}
67-
6855
if (!is_null($certificateList)) {
6956
$binary = $certificateList->getBinary();
7057

@@ -76,10 +63,10 @@ public static function sequenceFromOCSPResponse(?BasicOCSPResponse $basicOCSPRes
7663
);
7764
}
7865

79-
if (!is_null($otherRevValues)) {
80-
$binary = $otherRevValues->getBinary();
66+
if (!is_null($basicOCSPResponse)) {
67+
$binary = $basicOCSPResponse->getBinary();
8168

82-
$values[] = ExplicitlyTaggedObject::create(2,
69+
$values[] = ExplicitlyTaggedObject::create(1,
8370
Sequence::create([
8471
Sequence::fromBinary($binary),
8572
]

tests/MainTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ public function getTimeStampRequestWithPolicy()
2323
return file_get_contents(__DIR__ . '/fixtures/TimeStampRequestWithPolicy.pem');
2424
}
2525

26+
public function getRevocationValues()
27+
{
28+
return file_get_contents(__DIR__ . '/fixtures/RevocationValues.pem');
29+
}
30+
2631
public function getFullCMS()
2732
{
2833
return file_get_contents(__DIR__ . '/fixtures/full.cms');

tests/RevocationValuesTest.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?php
2+
declare(strict_types=1);
3+
4+
namespace Falseclock\AdvancedCMS\Test;
5+
6+
use Adapik\CMS\CertificateList;
7+
use Falseclock\AdvancedCMS\OCSPResponse;
8+
use Falseclock\AdvancedCMS\RevocationValues;
9+
10+
class RevocationValuesTest extends MainTest
11+
{
12+
public function testBasis()
13+
{
14+
$OCSPResponse = OCSPResponse::createFromContent($this->getOCSPResponse());
15+
16+
$this->getCertificateList();
17+
18+
$sequence = RevocationValues::sequenceFromOCSPResponse($OCSPResponse->getBasicOCSPResponse(), $this->getCertificateList());
19+
20+
self::assertNotNull(RevocationValues::createFromContent($sequence->getBinary()));
21+
22+
}
23+
24+
public function getCertificateList(): ?CertificateList
25+
{
26+
$binary = hex2bin("30821567060b2a864886f70d01091002183182155630821552a082154a30821546308215423082132a020101300d06092a864886f70d01010b05003073310b30090603550406130242453119301706035504610c104e545242452d303533373639383331383120301e060355040a0c1751756f56616469732054727573746c696e6b20425642413127302506035504030c1e51756f56616469732042656c6769756d2049737375696e67204341204732170d3139303530323037303030345a170d3139303530353037303030345a308212033033021457f5d7d381a94655a88602cd2d446f8c410a3f46170d3138303431393132333630355a300c300a0603551d1504030a010430330214566e039f3ed38c10b1a9eb8d39c493ab31213b31170d3139303432343039333930355a300c300a0603551d1504030a0104303302141701d842ac0082ac3b4956cc4ebfecb8f3594c3e170d3138303431393133353135375a300c300a0603551d1504030a0104303302142dff37a860ee3b8a6c9cb15af6806b19c4951016170d3139303432343039353031345a300c300a0603551d1504030a01043033021414f9472d36544044c68679cbacdaa2638412d133170d3138303431393132333735355a300c300a0603551d1504030a01043033021455d1723fb7e8e68ff36cdcf1e4f5d5f66de7c9cf170d3139303230343133343031355a300c300a0603551d1504030a01043033021415f627e2a9014e75a9c2fe445581c694dc20ed10170d3136303831373135333233345a300c300a0603551d1504030a01043033021438c10e1bea50a775867809dcce96ce6f3f2f9dd9170d3137303332323130323234375a300c300a0603551d1504030a0104303302142428fe5abfdd391e6f038c1ba0f3ccdfc0ad1cb0170d3139303132353038323834345a300c300a0603551d1504030a01043033021457bf385e1d4d9d2f904eccba8d2ffced0d9514bb170d3137313230373133353030385a300c300a0603551d1504030a01043033021423d61fec120abc4eba5ad46a116895f0651384c9170d3139303132383131333031375a300c300a0603551d1504030a0105303302142f7dc210dc5101689edecaf91ac5b493c900ab52170d3139303132383131333935345a300c300a0603551d1504030a01053033021418e29a6e55dc2be1d98968c87f7c1118d9751c91170d3138303431393132313434395a300c300a0603551d1504030a0104303302145725e1af24454a63961bc9eeca93576709f16c10170d3138303431393133343433315a300c300a0603551d1504030a010430330214363a914b4a99d3ffb010c3fb2763f8127528522e170d3138303431393133343835345a300c300a0603551d1504030a0104303302143fde3e6aa062fbb599baf96fcc4c9e640713e968170d3137303332323130303430325a300c300a0603551d1504030a0104303302147e94a5c6c5f370c1e0e025234d77f6d9c84a2874170d3136303831373135333235335a300c300a0603551d1504030a0104303302141b7d4898683c12ed8dadc423e3dfd2e0a81678a4170d3138313132303135333230325a300c300a0603551d1504030a010530330214607c0a44911f4c85a8f23f4ec84c7e0c28b1d8a6170d3138313030383133333635385a300c300a0603551d1504030a010430330214156cbb552159031f25a7c11768b14e39c53c5458170d3138313233313134353635315a300c300a0603551d1504030a010430330214669f1f72bfcd8956c5f59e505ce14e9429f1451b170d3138303532323132303534305a300c300a0603551d1504030a0104303302145d38c565a7e622c937a91210b42b9003783a7853170d3137303332323130323232315a300c300a0603551d1504030a0104303302145213061c643d7c70082b5a0427a31245af6e00be170d3138303431393133353032385a300c300a0603551d1504030a01043033021435df4395134f59fe6021ff3b91fd3b64bbfdb2b2170d3138303530333132353132365a300c300a0603551d1504030a01043033021446e4330964fa9d2fc1ba3e24d897269312506725170d3138303330313130303131385a300c300a0603551d1504030a0103303302147a41bc0c931c49507519d0cf5cc9d2a4a124fd9b170d3136303831373135333330395a300c300a0603551d1504030a0104303302144d0f3bccd611ac5ff6936cfbdcd7353a743faa7f170d3138313233313130333632355a300c300a0603551d1504030a01043033021467cec40f55105fee4302ca71d16ce3050faca6ec170d3138313131333135333733365a300c300a0603551d1504030a0104303302144f26a6ac186ecdac8b4a292c79632f10147a8b21170d3138303431393132323130345a300c300a0603551d1504030a0104303302141e736a89b320142748fb936aeacbda4827d69e93170d3138303431393133343534385a300c300a0603551d1504030a01043033021469e7ffd5c98c49179114010b79b656ee3e472510170d3136303831373135333332375a300c300a0603551d1504030a01043033021402792b7322f1ed285daedb7f3a3092c9ed5a1dd6170d3137313032363131343631335a300c300a0603551d1504030a01043033021445d52d34f0ea4a64441660605310b295ed317cbd170d3137313131373039323632305a300c300a0603551d1504030a01043033021464dbee513bb795c36922b1adb9e749aeba49c800170d3137303931313039303930325a300c300a0603551d1504030a0104303302145232110a5161f78f5f622a4cda7f609d8b6a6c49170d3138313031353133353134385a300c300a0603551d1504030a0104303302146d39e8dd2e4021ee2872d024a22e36aeaf883dd9170d3137303332323130323233395a300c300a0603551d1504030a01043033021405c3be482de7b4c568ffc90a7dc15bafe11831ed170d3139303331333134323032375a300c300a0603551d1504030a0104303302143a6794e3e32569ff3c15872ab5ffa6ab7373a0da170d3139303431353039343035385a300c300a0603551d1504030a01043033021457b09aae6a571a75518567a650fc1af82a9c6502170d3138313030333133303433305a300c300a0603551d1504030a0105303302142e7fff735c90088a507836994d6534c9724eb659170d3139303432333038313335305a300c300a0603551d1504030a01043033021433a37e34edd9394a4e7b30768caad0010c7400e2170d3137313032373133313234395a300c300a0603551d1504030a01033033021423c55190e77cd0ebbeda50045c2ba3add793b792170d3138303732333133323730335a300c300a0603551d1504030a0104303302145c8d0dce3c0177bc85c272249ce056a65b6227fc170d3138303831363135333832325a300c300a0603551d1504030a0105303302140f242ff7378092717b78671dcf1af6fd61375166170d3138303431393132333130325a300c300a0603551d1504030a0104303302145f5d0b96e27457deda0b0f9f0f120e96f81449a4170d3138303431393132353131385a300c300a0603551d1504030a01043033021478c2ecf6e782c009d54b169a7f4640e78fbf90fe170d3139303432343039353331315a300c300a0603551d1504030a010430330214396f8a685532db48ccf8e1bb676ef6604da3eb22170d3138313132303135333231355a300c300a0603551d1504030a01053033021408a478fa88fda49e0201f4dc750f5c476e118b66170d3139303431373130343831385a300c300a0603551d1504030a01043033021407550461202c48b21007a630715d9d57a3d33c81170d3137313032373037303032385a300c300a0603551d1504030a0104303302144a20a796b050b8f7e4ba858aa2ef0ee590231b9c170d3139303431353132353635355a300c300a0603551d1504030a010430330214721ec9001f4cb628a2e294ce56a02c36c2567a0b170d3138313030313131313332395a300c300a0603551d1504030a01043033021445eb4bacc506a44ab908127057cd04651e63a53a170d3138303133303131323932335a300c300a0603551d1504030a0104303302145846ed6b62274ef061fc389903dd5e82d271f618170d3138303530343132353830305a300c300a0603551d1504030a01043033021477a34d109b1774c15d8da77e0744478ff1aa9ce6170d3137303332323130323233305a300c300a0603551d1504030a0104303302144d407c44d1884d1419f7061e52d7e5fb3edd02d4170d3137313132313038343135335a300c300a0603551d1504030a01043033021430e8b72cc89d83c6188fc44d9b504e99789223b3170d3137303332323130303431355a300c300a0603551d1504030a01043033021413f4433c69fcc5279d31b776e1ac80f595c0c386170d3139303231323039353034325a300c300a0603551d1504030a010430330214044725604e446c526a0bb316821c24d25f7035a5170d3138303431393132323634335a300c300a0603551d1504030a010430330214492a5eabf5fa2b3988af1790b87c1565c924e655170d3137303630383036353035395a300c300a0603551d1504030a0105303302145ecc4dd643e8f0b059e59b3c2f89f42c8ed81418170d3137303332323130323235345a300c300a0603551d1504030a010430330214292249186765ee0de916a07defcd950a9df64368170d3137303931313038343930395a300c300a0603551d1504030a01043033021460014bb927de3ae3f2b7cd3ef8571a27d7e17281170d3137303931313039313432335a300c300a0603551d1504030a0104303302141ea10a1918cd87eaba8d73f84014c330234fba2b170d3138313030333133303634395a300c300a0603551d1504030a0105303302143ad92ece86caeb1e32e61136a4f7412718525017170d3138303530393037303332345a300c300a0603551d1504030a01043033021412b0a49fe8de5c0041dbf8b4614f8dbbbc6bcade170d3139303132383131333930375a300c300a0603551d1504030a0105303302143629d7069efc9a0f7260ce7834d156ad3415eb44170d3137303332323130323231305a300c300a0603551d1504030a0104303302143c73f9fa208463322f7e21f18c6b3982a488fa6f170d3139303332373134323433375a300c300a0603551d1504030a01043033021411f19e6a858a9011ec44b0a092fb9957570a447c170d3139303230383130313531385a300c300a0603551d1504030a01043033021460d071aeb00789e0e4948ff75e496c5770ae7966170d3138303332323135333831315a300c300a0603551d1504030a01043033021470f4527ba3ab6c8228fdd8713c4cb21c2f7955ec170d3138313230353038343531335a300c300a0603551d1504030a01013033021471990e9c8598fbfaf739848a64b49c777e41fc25170d3139303231343135343934345a300c300a0603551d1504030a01043033021420ee1fd7f45967104fcdf22bbc3aea258864bc85170d3138303332333131313930305a300c300a0603551d1504030a0104303302146588edd9fa5faed93eb5c510ba1a4d754bdb3981170d3138303431333037333030315a300c300a0603551d1504030a01043033021454940dbc17884a68f839ad71ac7d48262d0445cc170d3138303230353131353231385a300c300a0603551d1504030a0104303302140989b31f97fae0c53ca4fc98a5f9c7b534f0c757170d3138313030313131313234365a300c300a0603551d1504030a01043033021421d90b96fe625541ad5f89fc5f784317ff44c04e170d3137303931313038333934325a300c300a0603551d1504030a0104303302144f20411670c747f3f40d818fa58df5c988f5dcd2170d3139303332373134323333335a300c300a0603551d1504030a010430330214139697e1b92c8382c72508d4f97ee430ecc1857e170d3137303830383134353134345a300c300a0603551d1504030a01043033021432972dee2d3c044afafe7bb163357bca04e06fc0170d3137303931313038353535385a300c300a0603551d1504030a01043033021413b5cf2056bdb51da809ad03b515dcc5a01087cb170d3137303931313039303033355a300c300a0603551d1504030a0104303302140ec4ec82e966c60b8d975a5576f048b050d6ab0c170d3139303432343039353532365a300c300a0603551d1504030a0104303302146bcda517ba6fc97371b22e8796b0ee1e1cb57528170d3138303731303130313132385a300c300a0603551d1504030a010430330214470c0ab8fd6732912e6c02cde532ce17b8828322170d3138303431393133353333355a300c300a0603551d1504030a0104303302142e1aa32747dcda9c590ae010463e3bce4023f8d7170d3138303431393132323335345a300c300a0603551d1504030a01043033021466539afe277a6ba6292e4d83e51cb917ee1c0308170d3139303432343039343031345a300c300a0603551d1504030a010430330214491762ba80efb6e3b516577a0ec77d4cb47700c8170d3138303832393039313030335a300c300a0603551d1504030a010430330214010b4793ce6d88b5fa90bb683d81f03e0d49fee2170d3138303930343039313235315a300c300a0603551d1504030a0104a07c307a301f0603551d2304183016801487c9bc3197127a73bb7ec03d4551b401259551ab304a06082b06010505070101043e303c303a06082b06010505073002862e687474703a2f2f74727573742e71756f7661646973676c6f62616c2e636f6d2f7176656e7463613167332e637274300b0603551d14040402020ac7300d06092a864886f70d01010b0500038202010012afb79d9e3e0e2545a5e38ddd992e07c7dff18a4db0f46d6b45a2465d90023b41f4df962b671116cace69d14af764495ec3da1c1143073d77b118f20b3b8f8226108cd9d334bb8dfeca6f8075f87196156570f2ffd88c48016d7b1b26ca6caa59ceb162938f873571de73d9724986743ade59c4efef6e6b967af7e05c9d09c9f8b362a0b8ea47c51d5d5e01e7b3ebeaae1acdf33a4b1668090c5d0e66fa0079dabaa6e311071b1a06203bfb3dcbbe47b447925b562221617d6312a0fba3d8bc4a631c4ff80a3f685f4f69b90e78487c7fbd013f2fcab76481719bf3f3afcb771bb1891370bdaee124fd60a8cb165f68687846714fcb420ba71bc7e97ba2e4a2d44ee91953e016450ba7c561362cb4c11151f1956667837d2660eab16e493f30011699d30275a6194a44c43ba3fdc36e394507213c132cdb58e1d988fdde2b6f100b113e03d7912d198ea090e1f65db159b95a962bbb97e474192c1950d03468fbf5fba87d536348d265e06ea2659670709789da99409243f897663b404769ca5edc774889a46ffb43810c485b15c7a11ed42eef48bf7833bcce5ac9315e814be04d8b1a51e0c29c0d4fb964a2c3e50acc88175728e19709013d3bebe1aa8c9acb5bea48ca2f09c2ec3970c8021a1073256e07ccd932250323a29b7e267afb1030f398bbdb6cb6c736c5612e8de79ac227b89e3075fd911a7f05d3f602411feaa1023000");
27+
$revocationValues = RevocationValues::createFromContent($binary);
28+
29+
return $revocationValues->getCertificateList();
30+
}
31+
}

0 commit comments

Comments
 (0)