";
}
$plaint=$content;
if(strlen($plaint) <= 0)
{
echo "WARNING : no source data input";
throw new Exception("no source data input");
}
/* $keyfile=$keyfilepath;
if(strlen($keyfile) <= 0)
{
echo "WARNING : no key data input
";
exit();
}*/
//read private key from file
//$fd = "pri-CEA.key";
/* $fp = fopen($keyfile,"rb");
if($fp == NULL)
{
echo "open file error
";
exit();
}
fseek($fp,0,SEEK_END);
$filelen=ftell($fp);
fseek($fp,0,SEEK_SET);
$contents = fread($fp,$filelen);
fclose($fp);*/
$contents = base64_decode($privatekey);
$key = substr($contents,2);
//echo "key:",base64_encode($key),"\n";
$pass=$password;
if(strlen($pass) <= 0)
{
echo "WARNING : no key password input";
throw new Exception("no key password input");
}else{
$signature = sign($plaint,$key,$pass);
$code = current($signature);
$len = next($signature);
$signcode = base64enc($code);
return current($signcode);
/* echo "signature : ",current($signcode),"\n";
echo "signature len: ",$len,"\n";*/
}
}
public static function verify($content,$publicKey,$password){
}
}
//echo IcbcCa::sign("nihao",'BKlZsKQJ0eG9UDtOJxl2rl8uzVClQzBUsaq9BBB7KlaBUn7NplThEKAbmGFUmcqIqvzU6shLqJUb58iZGUEiRx4SyjL8cKL7lTy1n6nVA6aMwJcfPIn5uZ5ynNW8n9m/5piy/lSkWpTAwebeqeSKYiXzeWtsuFmptSZkOjtsymsjgTfY60AkCBw1rGtJ08NXvN50u6QaFdeggX+++MDCK5W7ZC2SOvtkatkIKlrBlj0Gnri7O+Y7Ul44ysBDB4mhbZJuqffzBAJyDk0r3Q9WTaOg4aBSlyyp2lwfxiJ0SvZJJMS3jLdlWXTepVSE/IgVIHXlNRtkccr9Y3eY4XN6G6qVRViSTqmckYnZZFZWesVqihvP2U32aYsRWR4TIq/im77aFKCWMgOrOCVttV981AKHIn1kC1r6O/x9k2GAuadF5bGcb0tjhEJV+ijoFhI0Syi7D9ZS5F/MVCq0B/8MAC+pFZOxXtfAJDtz/M0x1t2H82gk9xATPgNq9CVPzNtNnQOvE1HWmn2ZDSCmR7IkSA8EEN5pqz8QYRvs3O8tFechYztifM1+TBs5KciN4FjZZhiE3+vbBSFboxte40yaLgZE0cm3ZDSHhaflDb5f3C162kF2Nbi9fG4Se3DKHyH1HRZfwDpWmB5MUjBb5j+GNxp+7KtCAinxFEthYeMmkIKMwXolZnlxdrO0BdySJSekrTgIbihtjmp9racWhiCxVX8ThaTGCEP1+6fz6bUmk2IZ2yaYo93KkZxcXmkO0sHFKZZ8Y+hiBk12EOQO8mKfFhYKIJ/s4SViqYOe+kL/T49enAmaue2j+5UDRUSN0xR3oOzhPb9o/OfXCPTdxCtyAQX36oTPnRsouMiy3PW33iWcKPx7gD/fTEct5Qz/t6FBx5orz7EnG1TEEbTp+GzvZm0h4DPQ04jEjHJcb94r0EbdsOZrItyv1+krWtAvpS3IiHZkuTyRe7awrgaZRWWNohynpCjAIDhrJ/pdYzTKhpS/lJTkMQxsD3lLaNh5MqnQYwkdn53Geb6zwo6VQRYVFlyw9zmPptMHleauQtJjCx5pYgaCRt176BkxZnQTiF3BFKNsEEQhs3b/AKY4BqCszwXaj28BprZ9i/rpx9l9GgdVA0vVFgbXmceXIMTWlSdbI9wIdQ5pPtBiEUpnNF2vc6mB3VwQ2GY78NztzRlJRrPA2xgvYu34iGtnEjiyxQt+2C6gIq9xsc9rMWfyQRpcm0lQ0xkZ0R9xC8QtaoSmcbLs1XtZoDiPCmIL44NLMt7t3vM+jD8tId/0WYqJge/vBsVuKXOwa4KaTVUHkBfWfIwIaKz19eYq/zi/2hDDxlbLBz92wtDg/i/Uoe3jH/HCJ2hXmH+jaUQD/Z8+GKVK476+6Xe6K7VAKr7/qc9RIljby+/fm4ghwBMAkLf9IFWoOU+ZBGdN3HLl4x8OHIz2QnjG5NRsKebzYg39kYVX8/50z9tHVxTvJYVgJ5n+IbrFnHgKw5GdCtHjuWXRAkS2Nq/r1N9t5jRtuyt0kVslGk0nMES7hVXxXGqKm2cHJzjd3/npbONYGxK4TxyPccDs8MRfYEuuQpgoL/IMdA==',"12345678");
?>