*/ 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:----PfzTfXuE2zUk2NLJWMOHhk9jO2EEivd0nQO2PkZtL5vH0KHX/LrS9BLtbS3/L9Jqvdyu1oRiQq3mBcLkXO2sJm1uKmnsBY9AlwNdlgMdwxWaNI8Y2ldLclsN3YgQeG6Vwyyssyep4/mXmz0/0TpW2zhigJs46TptIdEAOZv0ACGIQ0qTMWhW9nfGPTxhNVRqtrVZrcfMW767JopJUwTpfBquMp77ZUb0lciSOb0s5wq3c+0K4L+GdLjnjixosUjyc31hnkExYoW/dZZWE8Hb9s+V/d1KIRXclCjPv5d+Jsm4e8u4tkwjddBg5jW8AVhwJgesqqZz4KMfxBdYZara75WqpZqhb8xg3kGBRxjn0U+fiB6fTz+iX4RRiHX+Vzoe7xwr8PiCR6N7HcWVcysQLETgqreJnGq2s9IgT8EJaPFUKd9gINxkupGa6l0PoFZ3u2ALvUL1CyCXEthRd3+0Q1IRQZsKPAICcHIX+8iGSQRKTt0htZk433ZJI3C7tScmpIvaPte7mm4ISAAl7rPv5aOzQtZjXiICPtOMgLbeo3YkJNZfbFO1Sgmt2ISFcT2BNd3GQ8eGYKv+/OPDl/HiJR1lwCZBuJ1TwCkobsiItk6y111QJmKDzogKcgmQrOmKV/q4/vO1W7sGwiamWbN/xluWPJbmAthfBO9ZZ4Va7w0=----ATTACHMENT:----NDE3MzAzOTEwNzM5OTczMyA2OTQ1NTk5NzU5MTkyNTc3IDc5MTM0MTE3ODg2MzgzODI=