コード例 #1
0
ファイル: seal.php プロジェクト: michalkoczwara/WebGoatPHP
 function Execute($Params)
 {
     $pki = new JpkiCorePlugin($this->App);
     $Params['id'] = array(19, 20);
     if (isset($Params['id']) && is_array($Params['id'])) {
         $ID = $Params['id'];
     } else {
         $out['Error'][] = "Supply 'id' array please.";
     }
     if (isset($Params['content'])) {
         $Data = $Params['content'];
     } else {
         $out['Error'][] = "Supply 'content' please.";
     }
     if (is_array($ID)) {
         foreach ($ID as $i) {
             $Res = j::SQL("SELECT X509 FROM jpki_certificates WHERE ID=?", $i);
             if ($Res) {
                 $PKs[] = $pki->X509_ExtractPublicKey($Res[0]['X509']);
             }
         }
         $Res = $pki->SealData($Data, $PKs);
         $out['SealedResult'] = $Res;
     }
     return $out;
 }
コード例 #2
0
ファイル: unseal.php プロジェクト: michalkoczwara/WebGoatPHP
 function Execute($Params)
 {
     $pki = new JpkiCorePlugin($this->App);
     if (isset($Params['id'])) {
         $ID = $Params['id'];
     } else {
         $out['Error'][] = "Supply 'id' please.";
     }
     if (isset($Params['content'])) {
         $Data = $Params['content'];
     } else {
         $out['Error'][] = "Supply 'content' please.";
     }
     if (isset($Params['envelopekey'])) {
         $EnvelopeKey = $Params['envelopekey'];
     } else {
         $out['Error'][] = "Supply 'envelopekey' please.";
     }
     $Res = j::SQL("SELECT PrivateKey FROM jpki_certificates WHERE ID=?", $ID);
     if ($Res) {
         $Res = $pki->UnsealData($Data, $EnvelopeKey, $Res[0]['PrivateKey']);
     } else {
         $Res['Error'] = "X509 not found with spplied id.";
     }
     $out['UnsealedResult'] = $Res;
     return $out;
 }
コード例 #3
0
ファイル: verify.php プロジェクト: michalkoczwara/WebGoatPHP
 function Execute($Params)
 {
     $pki = new JpkiCorePlugin($this->App);
     if (isset($Params['id'])) {
         $ID = $Params['id'];
     } else {
         $out['Error'][] = "Supply 'id' please.";
     }
     if (isset($Params['content'])) {
         $Data = $Params['content'];
     } else {
         $out['Error'][] = "Supply 'content' please.";
     }
     if (isset($Params['signature'])) {
         $Signature = $Params['signature'];
     } else {
         $out['Error'][] = "Supply 'signature' please.";
     }
     $Res = j::SQL("SELECT X509 FROM jpki_certificates WHERE ID=?", $ID);
     if ($Res) {
         $PublicKey = $pki->X509_ExtractPublicKey($Res[0]['X509']);
         $Res = $pki->VerifyDataSignature($Data, $Signature, $PublicKey);
     } else {
         $Res['Error'] = 'X509 Not Found with spplied id.';
     }
     $out['Verification'] = $Res;
     return $out;
 }
コード例 #4
0
ファイル: get.php プロジェクト: michalkoczwara/WebGoatPHP
 function Execute($Params)
 {
     $pki = new JpkiCorePlugin($this->App);
     if (isset($Params['id'])) {
         $ID = $Params['id'];
     } else {
         $out['Error'][] = "Supply 'id' please.";
     }
     $Res = j::SQL("SELECT X509 FROM jpki_certificates WHERE ID=?", $ID);
     if ($Res) {
         $Res = $pki->X509_Details($Res[0]['X509'], false);
     } else {
         $Res['Error'] = 'X509 Not Found.';
     }
     $out['Result'] = $Res;
     return $out;
 }
コード例 #5
0
ファイル: encrypt.php プロジェクト: michalkoczwara/WebGoatPHP
 function Execute($Params)
 {
     $pki = new JpkiCorePlugin($this->App);
     if (isset($Params['id'])) {
         $ID = $Params['id'];
     } else {
         $out['Error'][] = "Supply 'id' please.";
     }
     if (isset($Params['content'])) {
         $Data = $Params['content'];
     } else {
         $out['Error'][] = "Supply 'content' please.";
     }
     $Res = j::SQL("SELECT PrivateKey FROM jpki_certificates WHERE ID=?", $ID);
     if ($Res) {
         $Res = $pki->Encrypt_Private($Data, $Res[0]['PrivateKey']);
     } else {
         $Res['Error'] = 'PrivateKey Not Found with spplied id.';
     }
     $out['EncryptedData'] = $Res;
     return $out;
 }