*/ 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:----WhpcvxtrebHFwho/cm3lR7rYlFVytCrnrqrWxYLnxWZkYTSgpolVSeI247tOV645R1SupEb3rn2L867seGCmssFoivTDdaKxsBenwJHxm5JtzV89vTI27SXN+kLTZb48lkoOaIixUiWejzm8469KDSyd8pwk4xXa6/CZzj1y0SiKDg/JCl1QgAUjB0sVMnmFWDnudhoT0ND4X00rqJJR5Q85oiQUohmf5aPniGD+QuQEZ1G8WPUWoBUIrRo90AJwszsE/+585iAR3uGApKnOWcIss4Gn/O5/AutBw39dpQVu1LQ09HYaBFkYySU/8gbSTgRly61KlRRmFUIe7dg6cEShrggqs6pMFb7spmiMEOukB9VU+WlL3AjbFc9oXF2XfUIwt8Bqq5G+vikh7jR514NVL4bnNmLhSnDnmd2FUAnSBf5PJogP4CDlMplNFlWXsHt7iZgh59JQjES3BVNrTndB9qKdXJ/ORS6FKQDDxwyQi3RsVAn+CwQzCMd5PlD/0RXLEb4RAkjOpaQnjDNF20fUqhLblydewtP9SZaEgLzo1IGQmEo4jkBfUsDWZtKknOVeA44Dn7k6WA2uuGyrpeWMoMEOWQ4tOA4nm+nESZwy0Ssp0J4mR1zbYstbojm8KeiGKB4IgRwfc0RYlKSLJerj1d+/tz/zoTDYx5e9MLY=----ATTACHMENT:----NDAwNzM3ODgxNTkwNjMxMiAzMjEzNzIyMTcwNzcwMDQ5IDk2ODM4ODk2NjAyODExMjU=