Tere,
Kas keegi on teostanud id-kaardi allkirjastamist uue libdigidocpp teegiga?
Ma tean, et libdigidocpp kaasa tuleva digidoc-tool on
mõeldud demomiseks aga hetkel tekib juba demoprojekti
ehitamisel probleeme. Käsitsi digidoc-tool websign toimib aga põhiprobleem on selles,
et allkirjastamisel lasen teha kaks ajax http päringut. Nimelt esimene, et
saada teada allkirjastatud dokumendi räsi (Digest to sign), mille anname
browseri kasutajale allkirjastamiseks ning peale browseris
allkirjastamist teeme teise http päringu, mille allkirjastatud räsiga
(signed digest) allkirjastame dokumendi. Samas digidoc-tooli websign ei
võimalda lahku lüüa digest to sign ja signed digest tegevust.
Sellest küsimus, kas keegi on sellega varem kokku puutunud, kuidas olete viinud dokumendi räsi ja allkirjastamise räsi osa eraldi?
Täiendasin digidoc-tooli c++ koodi, lisasin juurde omatehtud startWebsign ja
endWebsign käsud, kus startWebsign teeb kuni digest to sign ja salvestab
doci:
Signature *signature = doc->prepareSignature(signer.get());
cout << "Signature method: " << signature->signatureMethod() << endl;
|
cout << "Digest to sign: " << signature->dataToSign() << endl;
Ning endWebsign avab salvestatud doci ja viib allkirjastamise lõpuni (hetkel ei tea, kas see teoreetiliselt on üldse võimalik?):
signature->setSignatureValue(File::hexToBin(p.digest));
signature->extendSignatureProfile(p.profile);
Lahku
lüües aga websign allkiri ei valideeru. Hetkel ma ei tea kas websigni
saab üleüldse lahku lüüa sellisel viisil?
Muidu websign käsitsi töötab aga lahtilöödud startWebsign ja endWebsign antud allkiri ei valideeru. Äkki liigun täiesti vales suunas ning websign tuleks lahendada hoopis kolmandat moodi?
Ette tänades igasugu info eest,
Lugupidamisega,
Priit Tark