Skip to content

Commit 5c32c3a

Browse files
committed
readme - SignerInfo
1 parent ed347bf commit 5c32c3a

1 file changed

Lines changed: 55 additions & 3 deletions

File tree

README.md

Lines changed: 55 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ CAdES. Так начался долгий путь чтения RFC и напи
3232
## Манипуляторы
3333

3434
* [EncapsulatedContentInfo](#EncapsulatedContentInfo)
35-
* [SignedData](#_SignedData_)
35+
* [SignedData](#SignedData)
3636
* [SignedDataContent](#SignedDataContent)
3737
* [SignerInfo](#SignerInfo)
3838
* [UnsignedAttributes](#UnsignedAttributes)
@@ -97,7 +97,7 @@ public function mergeCMS(SignedData $signedData): SignedData
9797
* * *
9898

9999
# **SignedDataContent**
100-
**SignedDataContent** — согласно [RFC5652](https://datatracker.ietf.org/doc/html/rfc5652#section-5.1) это последовательность нескольких элементов, который включает
100+
**SignedDataContent** — согласно [RFC5652](https://datatracker.ietf.org/doc/html/rfc5652#section-5.1) это последовательность нескольких элементов, которая включает
101101
дайджест, подписанные данные, сертификаты, отзывы на сертификаты и данные по подписях.
102102

103103
## **Методы**
@@ -143,7 +143,59 @@ appendSignerInfo — добавление подписи в CMS, которая
143143
public function appendSignerInfo(Certificate $certificate): self
144144
```
145145

146-
Это тот самый метод, ради которого и затеялась разработка данной библиотеки. Позволяет объединять несколько подписей в единый CMS файл.
146+
Это один из основных методов, ради которого и затеялась разработка данной библиотеки. Позволяет объединять несколько подписей в единый CMS файл.
147147

148148
* * *
149149

150+
# **SignerInfo**
151+
**SignerInfo** — согласно [RFC5652](https://datatracker.ietf.org/doc/html/rfc5652#section-5.3) в подписи могут содержаться неподписанные данные. Например,
152+
OCSP проверка или TSP метка. Несмотря на то, что эти данные также могут находиться и в подписанных данных, не все средства подписания реализуют сохранение
153+
дополнительных атрибутов в блоке подписи. Для этого в SignerInfo предусмотрен блок UnsignedAttributes, куда важные данные для проверки легитимности подписи
154+
могут быть добавлены позднее. Более подробно об атрибутах можно найти информацию в [RFC5126](https://datatracker.ietf.org/doc/html/rfc5126).
155+
156+
## **Методы**
157+
158+
### **addUnsignedAttribute**
159+
160+
addUnsignedAttribute — добавление неподписанного атрибута
161+
162+
#### Описание
163+
164+
```php
165+
public function addUnsignedAttribute(UnsignedAttribute $newAttribute): SignerInf
166+
```
167+
168+
Как правило, это OCSP и TSP данные. На самом деле, атрибуты не ограничены только этими проверками и метками. Тем не менее одинаковые типы данных
169+
хранятся в неупорядоченном наборе последовательности, имеющий OID идентификатор, указывающий какой набор данных содержит та или иная последовательность.
170+
Иными словами, например OCSP метки будут храниться в SET поле SEQUENCE, которая имеет OID 1.2.840.113549.1.9.16.2.24 (revocationValues), а TSP метки
171+
будут храниться в наборе последовательности, которая имеет OID 1.2.840.113549.1.9.16.2.14 (timeStampToken)
172+
173+
* * *
174+
175+
### **createUnsignedAttributes**
176+
177+
createUnsignedAttributes — создание набора неподписанных атрибутов
178+
179+
#### Описание
180+
181+
```php
182+
protected function createUnsignedAttributes(): ?UnsignedAttributes
183+
```
184+
185+
Электронная цифровая подпись необязательно должна иметь неподписанные данные, тем не менее, этот набор может быть добавлен в ЭЦП не нарушая целостность её данных.
186+
187+
* * *
188+
189+
### **deleteUnsignedAttributes**
190+
191+
deleteUnsignedAttributes — удаление неподписанных атрибутов
192+
193+
#### Описание
194+
195+
```php
196+
public function deleteUnsignedAttributes(): SignerInfo
197+
```
198+
199+
Так же как и с добавлением дополнительных атрибутов, они могут быть легко удалены, при этом целостность и достоверность подписи не будет нарушена.
200+
201+
* * *

0 commit comments

Comments
 (0)