Autor | Zpráva | ||
---|---|---|---|
Gogo_v Profil * |
#1 · Zasláno: 28. 6. 2011, 10:38:26
Dobrý den,potřeboval bych poradit jak načtu přílohu v e-mailu který je s digitálnim podpisem. Jedná se o emaily z banky s přílohou xml. Potřebuji v podstatě jen vydolovat nějak tu přílohu. Trápím se s tím čtvrtý den a stále jsem na to nepřišel :(
Structure : stdClass Object ( [type] => 3 [encoding] => 3 [ifsubtype] => 1 [subtype] => X-PKCS7-MIME [ifdescription] => 0 [ifid] => 0 [bytes] => 8006 [ifdisposition] => 0 [ifdparameters] => 0 [ifparameters] => 1 [parameters] => Array ( [0] => stdClass Object ( [attribute] => smime-type [value] => signed-data ) [1] => stdClass Object ( [attribute] => name [value] => smime.p7m ) ) ) Není to šifrované a nemám ani žádný pub klič či heslo. V outlooku to ma normálni přílohu xml kterou otevřu. Potřebuju to dostat do scriptu na parsovani xml. Děkuji moc za jakykoliv konstruktivní nápad. |
||
Časová prodleva: 10 dní
|
|||
Gogo_v Profil * |
#2 · Zasláno: 8. 7. 2011, 10:29:20
Gogo_v:
Dobrý den. Tak jsem přílohu z mailu nakonec dostal. Ted ale řeším další problém. Pokud je příloha větší jak 16kb tak jsou na konci XML chyby :( zkoumal jsem proč to dělá na žádné limity v nastavení PHP to nevypada ale prostě to dělá nesmyslné znaky na konci nesetkal se s tim náhodou někdo ?? $message = imap_body($mbox, $i, 1); $target = 'localfile.data'; $whandle = fopen($target,'w'); stream_filter_append($whandle, 'convert.base64-decode',STREAM_FILTER_WRITE); fwrite($whandle,$message); fclose($whandle); zkoušel jsem to i přes base64_decode($message); se stejným výsledkem <partneraccbank>0100</partneraccbank> ÂÂĹ Při porovnávání zakodovaného řetězce stejným textem jsem zjistil že je tam pár znaků navíc. netuším ale kde se tam berou :( Při otevření přílohy v outlooku je xml v pořádku. Už si s tím vůbec nevím rady... Děkují moc za pomoc. |
||
Gogo_v Profil * |
#3 · Zasláno: 10. 7. 2011, 11:42:36
Gogo_v:
Další zjištění toto je část zakodovane zprávy base64 eWRHNWxja0ZqWTBKaGJtcytEUW9nSUNBZwSCAkNJQ0E4UTI5dWMzUmgNCmJuUlRlVzFpYjJ3K016QTRQQzlEYjI1emRHRnVkRk41YldKdmJENE5DaUFnSUNBZ0lEeFdZWEpUZVcxaWIydytPREEyTVRB eE1ERTUNClBDOVdZWEpUZVcxaWIydytEUW9nSUNBZ0lDQThSR1Z6WTNKcGNIUnBiMjR4UGp3dlJH VnpZM0pwY0hScGIyNHhQZzBLSUNBZ0lDQWcNClBFUmxjMk55YVhCMGFXOXVNajQ4TDBSbGMyTnlh WEIwYVc5dU1qNE5DaUFnSUNBZ0lEeEVaWE5qY21sd2RHbHZiak0rUEM5RVpYTmoNCmNtbHdkR2x2 YmpNK0RRb2dJQ0FnSUNBOFJHVnpZM0pwY0hScGIyNDBQand2UkdWelkzSnBjSFJwYjI0MFBnMEtJ Q0FnSUNBZ1BFMXYNCmRtVnRaVzUwVkhsd1pVTnZaR1UrTURRNFBDOU5iM1psYldWdWRGUjVjR1ZE YjJSbFBnMEtJQ0FnSUNBZ1BGQmhlVU5qZVQ1RFdrczgNCkwxQmhlVU5qZVQ0TkNpQWdJQ0FnSUR4 UVlYbEJiVzkxYm5RK05EQXdQQzlRWVhsQmJXOTFiblErRFFvZ0lDQWdQQzlZVFc5MlpXMWwNCmJu UStEUW9nSUR3dldGTjBZWFJsYldWdWRENE5Dand2V0VGalkwMXZkajROQ2c9PQ0K po dekodování vyleze ydG5lckFjY0Jhbms+DQogICAgCICA8Q29uc3Rh bnRTeW1ib2w+MzA4PC9Db25zdGFudFN5bWJvbD4NCiAgICAgIDxWYXJTeW1ib2w+ODA2MTAxMDE5 PC9WYXJTeW1ib2w+DQogICAgICA8RGVzY3JpcHRpb24xPjwvRGVzY3JpcHRpb24xPg0KICAgICAg PERlc2NyaXB0aW9uMj48L0Rlc2NyaXB0aW9uMj4NCiAgICAgIDxEZXNjcmlwdGlvbjM+PC9EZXNj cmlwdGlvbjM+DQogICAgICA8RGVzY3JpcHRpb240PjwvRGVzY3JpcHRpb240Pg0KICAgICAgPE1v dmVtZW50VHlwZUNvZGU+MDQ4PC9Nb3ZlbWVudFR5cGVDb2RlPg0KICAgICAgPFBheUNjeT5DWks8 L1BheUNjeT4NCiAgICAgIDxQYXlBbW91bnQ+NDAwPC9QYXlBbW91bnQ+DQogICAgPC9YTW92ZW1l bnQ+DQogIDwvWFN0YXRlbWVudD4NCjwvWEFjY01vdj4NCg== kde je to ztučněné C navíc. Když ho smažu dostanu rozkodované to co tam ma být. tnerAccBank> <ConstantSymbol>308</ConstantSymbol> <VarSymbol>806101019</VarSymbol> <Description1></Description1> <Description2></Description2> <Description3></Description3> <Description4></Description4> <MovementTypeCode>048</MovementTypeCode> <PayCcy>CZK</PayCcy> <PayAmount>400</PayAmount> </XMovement> </XStatement> </XAccMov> Z jedenácti mailů mám takto špatné zatím dva a netýka se to větsich než 16kb příloh jak jsem se původně domníval. Mám i 24kb přílohu kterou rozkóduju bez chyb. V obou mailech je jeden znak navíc a u obou je to na stejnem mistě .. v posledním bloku první znak za těmi bílími znaky. Nejvíce mne mate to že v outlooku všechny ty xml rozkoduje správně jinak bych řekl že je to chyba přímo v tom mailu.... Opravdu se s tím nikdo nesetkal ?? |
||
Časová prodleva: 3 dny
|
|||
Gogo_v Profil * |
#4 · Zasláno: 13. 7. 2011, 13:48:58
Dobrý den.
Tak uz jsem to vyřešil. Pokud to někoho zajímá problém byl opravdu v těch bílých znacích. Ty bloky byly rozdělené hexa 04 82 04 některé ale 04 82 03 nebo 04 82 02 ci 01 a když to nebyla ta první varianta tak patřil k oddělovači i čtvrtý znak. a ve dvou případech se ten 4tý znak vešel mezi (a-z A-Z 0-9) Proto mi to na konci přidávalo znak a rozhodilo dekódování. Zjevně špatně zpracovávám tu přílohu nicméně lépe to neumím a tak jak to je to funguje. |
||
Časová prodleva: 13 let
|
0