public GetAsymmetricPublicKeyResponse GetAsymmetricPublicKey()
        {
            GetAsymmetricPublicKeyResponse publicKeyResponse = new GetAsymmetricPublicKeyResponse();

            try
            {
                AsymmetricKeyPairGenerationResult asymmetricKeyPair = _cryptographyInfrastructureService.GenerateAsymmetricKeys();
                Guid messageId = Guid.NewGuid();
                publicKeyResponse.MessageId    = messageId;
                publicKeyResponse.PublicKeyXml = asymmetricKeyPair.PublicKeyOnlyXml;
                _asymmetricKeyRepositoryFactory.Create().Add(messageId, asymmetricKeyPair);
            }
            catch (Exception ex)
            {
                publicKeyResponse.Exception = ex;
            }
            return(publicKeyResponse);
        }