public VCRklServiceAdapter( string hostname, int port, IHsmLogger logger) { Ensure.IsNotNullOrEmpty(hostname, nameof(hostname)); Ensure.IsNotDefault(port, nameof(port), failureMessage: $"It does not appear that the port number was actually set (port: {port})"); Ensure.IsNotNull(logger, nameof(logger)); ClientId = Guid.NewGuid(); _logger = logger; _hostname = hostname; _port = port; // configure the domain _instanceDomain = AppDomain.CreateDomain( $"vc_rkl_instance_{ClientId}", null, AppDomain.CurrentDomain.SetupInformation); // using the configured domain, grab a command instance from which we can // marshall in some data _rklServiceRuntime = (IRklServiceRuntime)_instanceDomain.CreateInstanceAndUnwrap( typeof(VCServiceRuntime).Assembly.FullName, typeof(VCServiceRuntime).FullName); }
public RklResponse Run( RklRequest request, string hostname, int port, Guid clientId, IHsmLogger logger) { Ensure.IsNotNull(request, nameof(request)); Ensure.IsNotNullOrEmpty(hostname, nameof(hostname)); Ensure.IsNotDefault(port, nameof(port), failureMessage: $"It does not appear that the port number was actually set (port: {port})"); Ensure.IsNotNull(logger, nameof(logger)); // these are set here instead of passed in because they are not // serializable var clientCert = ApplicationValues.VCClientCertificate; var clientCerts = new X509Certificate2Collection(clientCert); using (var client = new VCServiceClient(hostname, port, clientCerts, clientId, logger)) { var response = client.RetrieveDeviceKeys(request); return(response); } }