17.05.2002 10:03:12Зашифрованное и подписанное сообщение в CAPICOM Ответов: 6
Alexey
Не могли бы Вы прояснить общепринятую последовательность действий при создании с помощью CAPICOM зашифрованного и подписанного сообщения PKCS7. Ведь по идее, если применить в к файлу последовательно EnvelopedData.Encrypt и SignedData.Sign в кодировке Base64, то за счет двойной перекодировки размер файла заметно увеличится, да и с получившимся форматом тогда не все ясно. Может есть какой-то стандартный метод для присоединения подписи к уже зашифрованному сообщению формата PKCS7?
 
Ответы:
17.05.2002 15:34:03kure
Вообще то обычно сначала подписывают, потом шифруют. Подписывать шифрованный файл особого смысла нет. Это уже не "документ" который заверяется подписью.
Что касается получаемых форматов то никаких путаниц не будет. На то и есть PKCS#7. У шифрованного формата свой идентификатор envelopedData (1 2 840 113549 1 7 3), соответственно у подписанного свой signedData (1 2 840 113549 1 7 2).

Что касается base64 - ну так вот работает CAPICOM. А подпись можно сделать отдельно от данных.
18.05.2002 9:30:30Alexey
А можно ли каким-нибудь способом создать файл типа SignedAndEnvelopedData, который описан в стандарте PKCS?
18.05.2002 10:00:40kure
Через CAPICOM нельзя. Есть только Signed и Enveloped.
18.05.2002 10:46:40Alexey
А через что можно? И как?
18.05.2002 11:21:31kure
Можно через CryptoAPI (CryptSignAndEncryptMessage), но теже RFC и PKCS#7 рекомендуют делать последовательно signed запем enveloped.

RFC 2315
11. Signed-and-enveloped-data content type
...
Note. The signed-and-enveloped-data content type provides
cryptographic enhancements similar to those resulting from the
sequential combination of signed-data and enveloped-data content
types. However, since the signed-and-enveloped-data content type does
not have authenticated or unauthenticated attributes, nor does it
provide enveloping of signer information other than the signature,
the sequential combination of signed-data and enveloped-data content
types is generally preferable to the SignedAndEnvelopedData content
type, except when compatibility with the ENCRYPTED process type in
Privacy-Enhanced Mail in intended.
10.06.2002 4:10:50Alexey
И еще вопрос: насколько я понял при тестировании программы, CAPICOM присоединяет к подписанному файлу сертификат, которым производилась подпись. А можно эту опцию как-нибудь отключить?