gXbfB#) ۻbis_IIߪ ۻbis_IIߪ ۻbis_IIߪ ۻbis_II(EɎ^z1e}&MY##*)wPeRwgFN5K]OwgFN5K]O ʄk*o{Z&wgFN5K]OwgFN5K]OwgFN5K]OwgFN5K]O U.(8Xc9UH ,̵B @dmηC_4wgFN5K]O{[Sԥz֡]I'wgFN5K]OwgFN5K]OwgFN5K]O®~*AR:)w >{a}MM + tTBDJ$mN/Hh\6toҊJ/xXkGym¸j vYç3Kfv CFjBg$F){l Dj\Otpg^՞>Jnt]vo7Hn.*wgFN5K]OĦ$nj31\@R ۻbis_IIߪ ۻbis_IIߪ ۻbis_II=o@h7p̢V0T]+,*7Wr ` srr,4FwgFN5K]OUb.M ۻbis_IIߪ ۻbis_IIߪ ۻbis_IIߪ ۻbis_IIƁ>ncɝV?18v?˹8HrT1nY'Icd|@w4 !-q,"/^ƃ%g_є(E.x5-q<#R:Y~Tig}+lF:Jwng VT^^S uhyU+ZfS%raFA;7 `RyUS֎qXThHz;#9v-a)%]JM_f,0kja"yxOZb\ǺdqYM16&SzVE"=L0]SPDlSYD&b:w] ~^F#<C3) @7!at ̊;n^,XBNHW5fCpވJ?Q7&F @ pTri+SԶ4rb[KEɿLޯ%N'ZQ!\o!!n[,O-#>ٹ_]/R+Gg2R44 ߲ns$,T j_U>ZwU!X{O͇j7;h⥒)OX!\ۃPWAsyC^Cu~Jmۂk6~BIc`]1C>VX}e̤…v%Z]46KAșZUGc)E 6p?ܶr`PxL]< {'Vߦ_$MRR)tM4Mw=gah"K@٬}W.PY0`*[A'm V,ՇʬPܰ?D[LHcVK@&CS)!ቡt S, P$CIIh1* 8]wU@"F-6e׌N'[0$N!/^V=Ⴤ] Ds$^Km V,ՇʬP2_3}% ^f8_焢7?$z*繘C5OVWpA;=7FG/yah8S$j-2;_2܉UqETd#o(ˮ4bk!.(V%~c -*p_ s:XT pMqnѺogziuy'hx<8`q)J;5ymK8~qA^edcIyYԃ䄃9K9ΰtJ/u!֊f{>8Ÿ9ؗ !ԡFe fr-G,d/S+MlD{>̓52X]'?#0j{R 8fSNYP?8 *,@6[bb9 |֚K <~n/4v|vH=VbNx9c_WMtw?%{@%P@O$}IS1—2;QF҇7dAP-j.o[ı1 [h++!%H&5#v>gNtt9I[VQh/ͣ!ߕszpR$zJ7[-=VLvNXu%ި1ܛs߿PS^ѳ@:0YJ7I&h.';'W]lmJrT@@_?@$ 7C'pͻ/= DrkyRr:5_,}1#B(t͂N-K֏r`Y$im$.^_Uu5ῥtKqKH +Y>`ɤp}8Qbqly!@ 5X$'-+r?_쉞r0/DrkyRr:5_,}1#B(tKzV y>NmTY2Alj3.We%s+a@OxX=T-;'ui`Ffx/=IPvgG.N̊y)mP`!uJ ]9{f;l9;ޣ͠O@QR뻽765s mOdNβBZEǘ~LOCqpl*vfT#Md]sI4tR Vzf0UNyzxPcڇ äu僨jLgUtϼ=⯺2$d-3Օʂw4wCvv2j3a| $~ʣ50@NJ)̘ƔФ1KX-Pz=xBZ@~@wl s[`('5false, $passwords = []) { } public function list_keys($pattern='') { } public function get_key($keyid) { } public function gen_key($data) { } public function delete_key($keyid) { } /** * Returns a name of the hash algorithm used for the last * signing operation. * * @return string Hash algorithm name e.g. sha1 */ public function signature_algorithm() { } /** * Converts Crypt_GPG_Key object into Enigma's key object * * @param Crypt_GPG_Key Key object * * @return enigma_key Key object */ private function parse_key($key) { } private function get_openssl_error() { $tmp = []; while ($errorstr = openssl_error_string()) { $tmp[] = $errorstr; } return join("\n", array_values($tmp)); } private function parse_sig_cert($file, $validity) { $cert = openssl_x509_parse(file_get_contents($file)); if (empty($cert) || empty($cert['subject'])) { $errorstr = $this->get_openssl_error(); return new enigma_error(enigma_error::INTERNAL, $errorstr); } $data = new enigma_signature(); $data->id = $cert['hash']; //? $data->valid = $validity; $data->fingerprint = $cert['serialNumber']; $data->created = $cert['validFrom_time_t']; $data->expires = $cert['validTo_time_t']; $data->name = $cert['subject']['CN']; // $data->comment = ''; $data->email = $cert['subject']['emailAddress']; return $data; } }