Advertisement
Guest User

Untitled

a guest
Dec 9th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.06 KB | None | 0 0
  1. <?php  
  2.   public function signData($data)
  3.     {
  4.         $adapter = EccFactory::getAdapter();
  5.         $generator = EccFactory::getNistCurves()->generator256();
  6.         $useDerandomizedSignatures = true;
  7.         $algorithm = 'sha256';
  8.         $pemSerializer = new PemPrivateKeySerializer(new DerPrivateKeySerializer($adapter));
  9.         $key = $pemSerializer->parse($this->key);
  10.         $hasher = new SignHasher($algorithm, $adapter);
  11.         $hash = $hasher->makeHash($data, $generator);
  12.         if ($useDerandomizedSignatures) {
  13.             $random = \Mdanter\Ecc\Random\RandomGeneratorFactory::getHmacRandomGenerator($key, $hash, $algorithm);
  14.         } else {
  15.             $random = \Mdanter\Ecc\Random\RandomGeneratorFactory::getRandomGenerator();
  16.         }
  17.         $randomK = $random->generate($generator->getOrder());
  18.         $signer = new Signer($adapter);
  19.         $signature = $signer->sign($key, $hash, $randomK);
  20.         $serializer = new DerSignatureSerializer();
  21.         $serializedSig = $serializer->serialize($signature);
  22.         return $serializedSig;
  23.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement