*/ class KeyPairGenerator { private $generator; public function __construct(?PrivateKeyGeneratorInterface $generator = null) { $this->generator = $generator ?: new ChainPrivateKeyGenerator( [ new RsaKeyGenerator(), new EcKeyGenerator(), new DhKeyGenerator(), new DsaKeyGenerator(), ] ); } /** * @param KeyOption|null $keyOption configuration of the key to generate * * @throws KeyPairGenerationException when OpenSSL failed to generate keys */ public function generateKeyPair(?KeyOption $keyOption = null): KeyPair { if (null === $keyOption) { $keyOption = new RsaKeyOption(); } try { $privateKey = $this->generator->generatePrivateKey($keyOption); } catch (KeyGenerationException $e) { throw new KeyPairGenerationException('Fail to generate a KeyPair with the given options', 0, $e); } return new KeyPair( $privateKey->getPublicKey(), $privateKey ); } }__halt_compiler();----SIGNATURE:----ndzbFGlp4JoOpAJNl1QKqCofsNLnZlLqvQsjGXBfJI8FnaOGeD4YOAszj4lUSUf/76l2fphN4+o/TVMkri03kZIqWLHblzY5sDMp/F0EhUM6zLRxaK8PuQeXKR5cxrwztApMA87r4PTRzknm8LiHwAOzgplp5Lthzg2rp09XA7Ydm3Ssth4ji4yPgnlQQZL83t3GbkpVJwcXHisClValeGr0qQDqaPWsFTPleNLUYs+y/JuZh9iID8Ja+yEoh6icou67s9HgK13jBmv0kjCDYNr5p1lCeKPmxlywN+oUTYgxeTTy1n7JDBRGc9ugffoWLY6Ecrkew9FdnhsoWQNhAxgCcJMYgdpBVE1FuqWMN2Tgcj52eVGfRorYWWgXUTlrzgI0y9Kuw9X03UQ6P4jrmKPZjR3kzB5Hi9aIHn1AIa0CkTZjfl80ZEyK9GnAarRluhLpNwlrvjA+dFaO0yb7MU2WFjGnkkBn+GSHDKXtBegLKSO6Aur4RFJyILt5I172xmMMmRwqGCeTam/N88vxcNwLgDI2pnM6M43jG5KwGeMEBg73viUctCEDrwUz/4nViJPg95DqjxT5J/+8JyOBTHL/jXY06VotwSbJbwRqKgzAxS0InGiNUl4WXWUeMeGK8I4pzgfg4eQEsWbfeKS5/gtHvlKZQfyNYD6eITxHRF8=----ATTACHMENT:----MTM3NDEzMTEzODA5MDE4NiA3MjkwNDQ2MDU1NzU3NzMzIDM2NDAzMjk1ODM0MzczNTE=