* Fixed bad console output showing encrypted bytes
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Simplified example so it doesn't require an Azure Key Vault instance and just uses a local set of keys
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated README to include instructions for generating the private key
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added private RSA key to project for users that lack OpenSSL on their system - updated README to include warning calling out that this key shouldn't be used for anything but demonstration and testing purposes.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
---------
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added method to DaprClient and GRPC implementation to call cryptography proto endpoints
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* First pass at implementing all exposed Cryptography methods on Go interface
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added examples for Cryptography block
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added missing copyright statements
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated to properly support Crypto API this time
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added copyright statements
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed deprecated examples as the subtle APIs are presently disabled
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated example to reflect new API shape
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated example and readme
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added overloads for encrypting/decrypting streams instead of just fixed byte arrays. Added example demonstrating the same encrypting a file via a FileStream and decrypting from a MemoryStream.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added some unit tests to pair with the implementation
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added null check for the stream argument
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Changed case of the arguments as they should read "plaintext" and not "plainText"
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Reduced number of encryption implementations by just wrapping byte array into memory stream
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Constrainted returned member types per review suggestion
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated methods to use ReadOnlyMemory<byte> instead of byte[] - updated implementations to use low-allocation spans where possible (though ToArray is necessary to wrap with MemoryStream).
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated to use encryption/decryption options instead of lots of method overload variations. Simplified gRPC implementation to use fewer methods. Applied argument name updates applied previously (plainText -> plaintext).
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated tests
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed unused reference
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated examples to reflect new method shapes. Downgraded package to .net 6 instead of .net 8 per review suggestion.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated to reflect non-aliased values per review suggestion
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Update to ensure that both send/receive streams run at the same time instead of sequentially.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated to support streamed results in addition to fixed byte arrays. Refactored implementation to minimize duplicative code.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated example to fix compile issue
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed encrypt/decrypt methods that accepted streams and returned ReadOnlyMemory<byte>. Marked implementations that use this on the gRPC class as private instead.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added missing Obsolete attributes on Encrypt/Decrypt methods. Added overloads on decrypt methods that do not require a DecryptionOptions to be passed in.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated encrypt/decrypt options so the streaming block size no longer uses a uint. Added validation in its place to ensure the value provided is never less than or equal to 0.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated how validation works in the options to accommodate lack of the shorter variation in .NET 6
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated names of encrypt/decrypt streaming methods so everything uses just EncryptAsync or DecryptAsync
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Fixed regression that would have prevented data from being sent entirely to the sidecar. Also simplified operation per suggestion in review.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated examples to reflect changed API
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated so IAsyncEnumerable methods (encrypt and decrypt) return IAsyncEnumerable<ReadOnlyMemory<byte>> instead of IAsyncEnumerable<byte[]>.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated example to reflect change from IAsyncEnumerable<byte> to IAsyncEnumerable<ReadOnlyMemory<byte>>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Avoiding allocation by using MemoryMarshal instead of .ToArray() to create MemoryStream from ReadOnlyMemory<byte>.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Performance updates to minimize unnecessary byte array copies and eliminate unnecessary allocations.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Removed unnecessary return from SendPlaintextStreamAsync and SendCiphertextStreamAsync methods
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated exception text to be more specific as to what's wrong with the input value.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Minor tweak to prefer using using a Memory
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Deduplicated some of the Decrypt methods, simplifying the implementation
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Eliminated duplicate encryption method, simplifying implementation
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated to eliminate an unnecessary `await` and `async foreach`.
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Updated stream example to reflect the changes to the API shape
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
* Added notes about operations with stream-based data
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
---------
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>