Odesilani podepsanych zprav z OpenSSL

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Středa Srpen 15 16:10:36 CEST 2007


On Wed, 15 Aug 2007 cmartin na volny.cz wrote:

> Vec se ma tak, ze v OpenSSL je zdokumentovana chyba, ktera zjevne
> pretrvala spoustu verzi a ve vkladanych datech musi byt prvni radek
> prazdny.

Když ona to není chyba ale vlastnost. Ten, kdo to "zdokumentoval" jako
chybu, je trubka. V S/MIME má být zabalena "MIME entity", tedy MIME
hlavičky (zejména Content-Type), prázdný řádek a pak vlastní data.
Viz RFC 3851 a 2045.

Když tam dáte data jen tak, jak leží a běží, tak budou považována za
hlavičku a tedy vesměs ignorována, pokud to zpracovává MUA. Když na
začátek připojíte prázdný řádek, tak to "opravíte" tak, že vlastně přidáte
prázdnou hlavičku. Tj. MUA si domyslí nějaký Content-Type apod., což u
textu asi obvykle funguje, ale jindy nikoli. Správné řešení je na začátek
přidat něco jako:

Content-Type: application/octet-stream  [nebo jiný]
Content-Transfer-Encoding: base64    [jsou-li data v BASE64 (*)]
Content-Disposition: attachment; filename="soubor.xyz"
[prázdný řádek]

(*) Pokud použijete -nodetach a data jsou vložena dovnitř PKCS#7, pak by
mělo jít použít i "binary" a vhodit tam data bez kódování, ale někomu to
nemusí moc chutnat.

Stejně tam můžete vložit i multipart/mixed obsahující složitěji
strukturovanou zprávu.

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."




Další informace o konferenci Linux