Пример #1
0
 /**
  * @param string $name
  * @return bool
  */
 public function checkCurveSupported($name)
 {
     try {
         CurveFactory::getCurveByName($name);
         return true;
     } catch (\Exception $e) {
         return false;
     }
 }
Пример #2
0
 /**
  * @param string $curveName
  * @return \Mdanter\Ecc\Curves\NamedCurveFp|\Mdanter\Ecc\Primitives\CurveFp|\Mdanter\Ecc\Primitives\CurveFpInterface
  */
 public static function curve($curveName)
 {
     switch ($curveName) {
         case NistCurve::NAME_P256:
         case NistCurve::NAME_P384:
         case NistCurve::NAME_P521:
             return CurveFactory::getCurveByName($curveName);
         default:
             throw new \InvalidArgumentException('Unknown or unsupported curve');
     }
 }
Пример #3
0
 /**
  * @param MathAdapterInterface|null $adapter
  * @param string $curveName
  * @param string $hashAlgorithm
  * @return EcDomain
  */
 public static function getDomain(MathAdapterInterface $adapter, $curveName, $hashAlgorithm)
 {
     $adapter = $adapter ?: EccFactory::getAdapter();
     return new EcDomain($adapter, CurveFactory::getCurveByName($curveName), CurveFactory::getGeneratorByName($curveName), new Hasher($adapter, $hashAlgorithm));
 }