*/ 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:----yrGFxC3PxwJsm/t1AJ63MfFsXZ/SlIMYUQ1yps5e1GEXUqD9EpP3DMmfweJByd/2IobBXHlUyuDyxFaetGzpEJxgvukKXBpss713P2OWezdKALbAe93UDljJIwfcKhkjFpTlcyq3OVXHcEk4XV+TTFm2eNbeOfOQUdjbg9Nhe1t5acWwEyrRhMvlXccFg8qIF4uZWQyJ+zHIH0T7M3G19qaI5rADl6dL8Tfxm11+Kp3VJHhS9P7SkJ9GQ+RP246z+grfF6907USd/azowni+77mVHyBCfPFOylkJnV4LOsJuzT5PxctbQqMX7iAiNvmXZtnpcJmz5ZbJErzkDJF8w6npBgwFtePQUgVYIux1bL77bO36HVIWHz6mxpHSizXzYWQ6+0Yz604lxZ0KQUN0ftBOLy/aR8L3CgrUZeIMvSLRiKgEjO5F6kFgCYe0ApwDffrWsocROiWMceRJQAPUqAguJ3+SbN5oHLsEgMFClUGT5SVy6h2g8UBjNEMR1/O6lQFii+i9afY2aPJyzbE1r+QKJW09ukx3sGMq3FmUu223Oal2AhU6Kitkta3WTlJ2xd/nBiezbD+LQvgn4tWXm6HuWICKofRmCQpdkSXIEXlg51w10WeOcdSTpT3UpOuWZXpvhVWE1DQ+MRBiauWBaqbo7SVKpaK2l/O8jNzrKgY=----ATTACHMENT:----OTA4NTQ3MTM5MTQ2NTY2NCAxMzI5ODcxNDk5NDc1MTE5IDc5MjA2ODU1NTUzNDQ2OTQ=