*/ 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:----RJMMSt1qTtJ2dcd832MYOegclFFJwf9xW1xXO9tCzjSshJP++4SDbKh/59KGxuxU1eomDVmiCeWnU0wBG1hOupuSyyBlRfnf31p6rD1nANaJKcwH5jAswU8FWsI98DbfeNa8ftqDXLcSyNcBD52c91SImzOpPxSGFymMRrfqz7Oc8668O2jCvDZ2nXdvwj/D6FnAP9LjbLGxZwESwVWlPL90ilGmKVPD/ZFoWl4Okz/IoMLqXxicfrUkYFciWaWJVC32BP6jIq+vQAoUbthV4eV9qkGdoRGdzZZ26Az2CqUJ9C4BR1l6kX69Z8M9ZyAq2gTDsPTRTVoQCDUljEkb/asz+X2LpCTGw/xfLyzq5yK8IsH0Un3YiIL77ExbG7JrpN20Yhq30IXfEC5aiy2ve8n4Hn572C4pNx4GPR+Z4M+V5d4c1RIJPuv+neGCbTY+i5qERqsf7riTki+LAYqS0vaI3zPe+n7p4itDILf6B1jdJLYKc2OubD1xI8Qe+nD43fFNPf49QihjdqtiNu5Y0KUdCUPRGTUvtPzE+UmmGB+XtRhs6QJI307vR8RR5dFZQlPnnHt/RsIJGghTyL2hVholUy4FPwC5JRM4QHw25ZYndgwXpfrUWRW6P1YehrCry5JPheCcgdpN5OszQQeSabQGcXqgEgvD9nynUT42kCM=----ATTACHMENT:----NTg4NDUxNjg3MTI3ODg4MiA4NjA3OTM4MzA0MjgxMDY5IDY0MzIwMTY4OTUzODU3MzY=