]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 15 Nov 2012 19:41:42 +0000 (19:41 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 15 Nov 2012 19:41:42 +0000 (19:41 +0000)
inc/commons/class.common.tools.php
inc/ws/Metier/class.ws.book.parametres.php

index dce745e8e262f48b86c39e41584bb0f80864d851..b4005cde3373df10e13d537b8e514ea43d3b3f53 100644 (file)
@@ -471,12 +471,90 @@ class commonTools {
                $res.='<tr><td class="right" colspan="2"><a href="#" class="submit">' . $core->typo->BoutonOK(__('Générer la demande de signature')) . '</a></td></td>';
                $res.='</table>';
                $res.='</form>';
-               $res .= '</div>';
                $res .= commonPage::bf();
+
+               $res .= commonPage::bh();
+               $res.='<form action="' . SITE_PATH . 'tools/makeP12" method="post" class="notajax" enctype="multipart/form-data">';
+               $res.='<table class="liste">';
+               $res.='<tr><th colspan="2"><strong>' . __('Générer un p12 et pem à partir d\'un certificat et d\'une clé ') . '</strong></th></tr>';
+               $res.='<tr><td>' . __("Clé privée") . '</td><td><input type="file" name="key" /></td></tr>';
+               $res.='<tr><td>' . __("Certificat") . '</td><td><input type="file" name="cert" /></td></tr>';
+               $res.='<tr><td class="right" colspan="2"><a href="#" class="submit">' . $core->typo->BoutonOK(__('Exporter')) . '</a></td></td>';
+               $res.='</table>';
+               $res.='</form>';
+               $res .= commonPage::bf();
+
                $res .= commonPage::bMain();
                return $res;
        }
 
+       public static function makeP12() {
+               //http://help.adobe.com/en_US/as3/iphone/WS144092a96ffef7cc-371badff126abc17b1f-7fff.html
+               commonDroits::min(1);
+               $tmp = cubeFiles::tempdir();
+               if (!file_exists($tmp)) {
+                       mkdir($tmp, 0777, true);
+               }
+
+               $e = explode('.', $_FILES['cert']['name']);
+               array_pop($e);
+               $base = implode('.', $e);
+
+               $pem = $tmp . '/' . $base . '.pem';
+               $p12 = $tmp . '/' . $base . '.p12';
+
+               // Generate pem file
+               $openssl = new cubeCommandLine('openssl');
+               $openssl->setPath(CONVERTER_PATH);
+               $openssl->setArg(null, 'x509');
+               $openssl->setArg('-in', $_FILES['cert']['tmp_name']);
+               $openssl->setArg('-inform', 'DER');
+               $openssl->setArg('-out', $pem);
+               $openssl->setArg('-outform', 'PEM');
+               $openssl->execute();
+
+
+               // Generate p12 file
+               $openssl = new cubeCommandLine('openssl');
+               $openssl->setPath(CONVERTER_PATH);
+               $openssl->setEnv('RANDFILE', $tmp . '/.rnd');
+               $openssl->setArg(null, 'pkcs12');
+               $openssl->setArg('-export');
+               $openssl->setArg('-password', 'pass:');
+               $openssl->setArg('-inkey', $_FILES['key']['tmp_name']);
+               $openssl->setArg('-in', $pem);
+               $openssl->setArg('-out', $p12);
+               $openssl->execute();
+
+               // Generate pem bundle file
+               $openssl = new cubeCommandLine('openssl');
+               $openssl->setPath(CONVERTER_PATH);
+               $openssl->setEnv('RANDFILE', $tmp . '/.rnd');
+               $openssl->setArg(null, 'pkcs12');
+               $openssl->setArg('-password', 'pass:');
+               $openssl->setArg('-in', $p12);
+               $openssl->setArg('-out', $pem);
+               $openssl->setArg('-nodes');
+               $openssl->setArg('-clcerts');
+               $openssl->execute();
+
+               unlink($tmp . '/.rnd');
+
+               $tmpfile = cubeFiles::tempnam() . '.zip';
+
+               $zip = new cubeCommandLine('zip');
+               $zip->cd($tmp);
+               $zip->setArg(null, $tmpfile);
+               $zip->setArg('0');
+               $zip->setArg('u');
+               $zip->setArg('r');
+               $zip->setArg('X');
+               $zip->setArg(null, '.');
+               $zip->execute();
+
+               cubeHTTP::downloadFile($tmpfile, $base . '.zip');
+       }
+
        public static function makeCsr() {
 
                // http://help.adobe.com/en_US/as3/iphone/WS144092a96ffef7cc-371badff126abc17b1f-8000.html
index fe0496b45a9695379c2c8e7f86b3fb4b3a82efeb..e0b15cc7a25902264efc40beab4bd550d868db39 100644 (file)
@@ -39,7 +39,7 @@ class wsBookParametres extends wsParametres {
                $epsFilter->extensions = '*.ai;*.eps';\r
 \r
                $this->fields['version'] = array('type' => 'combo', 'default' => '2', 'editable' => true, 'label' => __('Version'), 'datas' => array('1' => '1', '2' => '2'), 'grade' => 3);\r
-               $this->fields['title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Titre de la publication"));\r
+               $this->fields['title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Titre de la publication"), 'embed' => false);\r
                $this->fields['url_link'] = array('type' => 'text', 'default' => 'http://', 'editable' => true, 'label' => __("URL du lien de retour au site"));\r
                $this->fields['signature'] = array('type' => 'combo', 'default' => '1', 'editable' => true, 'label' => __('Signature'), 'grade' => 3, 'datas' => wsDroits::getSignatures());\r
                $this->forms['important'] = array('label' => __('Description de la publication'),\r