public override void Configure(Container container) { RequestConverters.Add((req, requestDto) => { var encRequest = requestDto as EncryptedMessage; if (encRequest == null) { return(null); } var requestType = Metadata.GetOperationType(encRequest.OperationName); var decryptedJson = CryptUtils.Decrypt(SecureConfig.PrivateKey, encRequest.EncryptedBody); var request = JsonSerializer.DeserializeFromString(decryptedJson, requestType); req.Items["_encrypt"] = encRequest; return(request); }); ResponseConverters.Add((req, response) => { if (!req.Items.ContainsKey("_encrypt")) { return(null); } var encResponse = CryptUtils.Encrypt(SecureConfig.PublicKey, response.ToJson()); return(new EncryptedMessageResponse { OperationName = response.GetType().Name, EncryptedBody = encResponse }); }); }
public void Can_Encryt_and_Decrypt_String() { var request = new HelloSecure { Name = "World" }; var requestJson = request.ToJson(); var encRequest = CryptUtils.Encrypt(SecureConfig.PublicKey, requestJson); var decJson = CryptUtils.Decrypt(SecureConfig.PrivateKey, encRequest); Assert.That(decJson, Is.EqualTo(requestJson)); }
public String GetDataByIndex(int index) { String decrypted = CryptUtils.Decrypt(this.data, this.key); try { return(decrypted.Split(':')[index]); } catch (Exception ex) { WriteUtils.writeError("GetDataByIndex returned null"); return(null); } }
EncryptedResponse Any(EncryptedRequest request) { var requestType = Type.GetType("{0}.{1}" .Fmt(typeof(EncryptedRequest).Namespace, request.Type)); var json = CryptUtils.Decrypt(PrivateKey, request.EncryptedBody); var requestDto = JsonSerializer.DeserializeFromString(json, requestType); var responseDto = GetAppHost().Config.ServiceController .Execute(requestDto, base.RequestContext); return(new EncryptedResponse { Type = responseDto.GetType().Name, EncryptedBody = CryptUtils.Encrypt(PublicKey, responseDto.ToJson()), }); }
public void Can_Send_Encrypted_Message() { var client = new JsonServiceClient(Config.AbsoluteBaseUri); var request = new HelloSecure { Name = "World" }; var encRequest = CryptUtils.Encrypt(SecureConfig.PublicKey, request.ToJson()); var encResponse = client.Post(new EncryptedMessage { OperationName = typeof(HelloSecure).Name, EncryptedBody = encRequest }); var responseJson = CryptUtils.Decrypt(SecureConfig.PrivateKey, encResponse.EncryptedBody); var response = responseJson.FromJson <HelloSecureResponse>(); Assert.That(response.Result, Is.EqualTo("Hello, World!")); }
// Decrypt a file private string DecryptString(string utf8String) { var openString = CryptUtils.Decrypt(PrivateXmlKey, utf8String); return(openString); }
public String GetData() { String decrypted = CryptUtils.Decrypt(this.data, this.key); return(decrypted); }