Skip to content

Conversation

@siri-varma
Copy link
Contributor

@siri-varma siri-varma commented Dec 1, 2025

Description

Implements the Cryptography Alpha1 API (EncryptAlpha1/DecryptAlpha1) for the Dapr Java SDK, enabling streaming encryption and decryption operations using Dapr's cryptography building block.

Changes

  • Added EncryptRequestAlpha1 and DecryptRequestAlpha1 domain objects with fluent setters
  • Added encrypt() and decrypt() methods to DaprPreviewClient interface
  • Implemented streaming gRPC bidirectional communication in DaprClientImpl
  • Added unit tests for domain objects
  • Added integration tests using Testcontainers with local storage crypto component

Issue reference

Closes #1073

Checklist

  • Code compiles correctly
  • Created/updated tests
  • Extended the documentation

@siri-varma siri-varma force-pushed the users/svegiraju/add-cryptography branch from ed91b07 to 213240d Compare December 1, 2025 22:31
@siri-varma siri-varma changed the title Users/svegiraju/add cryptography Add Cryptography APIs to the Java SDK Dec 2, 2025
@siri-varma siri-varma marked this pull request as ready for review December 2, 2025 06:22
@siri-varma siri-varma requested review from a team as code owners December 2, 2025 06:22
Copy link
Contributor

@cicoyle cicoyle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The commit history seems to have a lot of extra things in it. Can you confirm you branched from master originally and remove the extra commits showing in the history? Also, CI seems a bit red - mind taking a look?

@siri-varma siri-varma force-pushed the users/svegiraju/add-cryptography branch 2 times, most recently from 2d296ed to e719567 Compare December 14, 2025 23:06
@siri-varma siri-varma force-pushed the users/svegiraju/add-cryptography branch from 8884991 to 21a30ce Compare December 29, 2025 21:52
…r#1575)

* fixing checkstyle and javadocs

Signed-off-by: salaboy <Salaboy@gmail.com>

* Replace openjdk:17-jdk-slim to eclipse-temurin:17-jdk-jammy (dapr#1574)

Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>

* Align Java API with other languages (dapr#1560)

* Align Java API with other languages

Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>

* Update documentation

Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>

* Change return type of waitForWorkflowStart method

Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com>

---------

Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>
Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com>
Co-authored-by: artur-ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>

* use built in durable task

Signed-off-by: salaboy <Salaboy@gmail.com>

* exclude jacoco rules for examples and durabletask-client

Signed-off-by: salaboy <Salaboy@gmail.com>

* increasing timeout for IT

Signed-off-by: salaboy <Salaboy@gmail.com>

* removing dt build from matrix

Signed-off-by: salaboy <Salaboy@gmail.com>

* adding java to dt build

Signed-off-by: salaboy <Salaboy@gmail.com>

* Fix dependencies multi app build and add proper test deps (dapr#1572)

* Force Jackson version to override the SB Jackson version

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Move all the Jackson deps to parent POM.

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Ensure app JAR build order

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Remove explicit Jackson from sdk-tests module.

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Make sure <scope>test</scope> is used for test dependencies.

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Remove extra Jackson modules.

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

---------

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>

* docs: add architecture diagram to README (dapr#1549)

* Preview New README

* Preview New README 2

* Preview New README 3

* docs: add architecture diagram showing Java SDK interaction with Dapr runtime (close #<915>)

* docs: add architecture diagram showing Java SDK interaction with Dapr runtime CORRECTION (close #<915>)

* docs: add architecture diagram showing Java SDK interaction with Dapr runtime (close #<915>)

* docs: add architecture diagram showing Java SDK interaction with Dapr runtime (close #<915>)

---------

Co-authored-by: Siri Varma Vegiraju <siri.varma@outlook.com>
Co-authored-by: artur-ciocanu <artur.ciocanu@gmail.com>
Co-authored-by: Cassie Coyle <cassie.i.coyle@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>

* Add statestore example with Outbox pattern (dapr#1582)

* Add statestore example with Outbox pattern

Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>

* Clean events after each test

Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>

* Add license header

Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>

* Apply pull request suggestions

Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>

---------

Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>
Co-authored-by: salaboy <Salaboy@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>

* adding new method signature plus test (dapr#1570)

* adding new method signature plus test

Signed-off-by: salaboy <Salaboy@gmail.com>

* re adding imports

Signed-off-by: salaboy <Salaboy@gmail.com>

* fixing style

Signed-off-by: salaboy <Salaboy@gmail.com>

* checking empty metadata

Signed-off-by: salaboy <Salaboy@gmail.com>

* copy meta for safety and check if key is present

Signed-off-by: salaboy <Salaboy@gmail.com>

* Centralize Maven dependency version management (dapr#1564)

Signed-off-by: salaboy <Salaboy@gmail.com>

* Fix dependencies multi app build and add proper test deps (dapr#1572)

* Force Jackson version to override the SB Jackson version

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Move all the Jackson deps to parent POM.

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Ensure app JAR build order

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Remove explicit Jackson from sdk-tests module.

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Make sure <scope>test</scope> is used for test dependencies.

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Remove extra Jackson modules.

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

---------

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>

* reverting pom

Signed-off-by: salaboy <Salaboy@gmail.com>

* fix codestyle

Signed-off-by: salaboy <Salaboy@gmail.com>

* using metaCopy

Signed-off-by: salaboy <Salaboy@gmail.com>

---------

Signed-off-by: salaboy <Salaboy@gmail.com>
Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>
Co-authored-by: artur-ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>

* Bump actions/upload-artifact from 4 to 5 (dapr#1587)

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: salaboy <Salaboy@gmail.com>

* Add gRPC support to Dapr testcontainer (dapr#1586)

* Add gRPC support to Dapr testcontainer

Signed-off-by: wlfgang <wlfgang@westridgesystems.com>

* Avoid using null to indicate default value

Signed-off-by: wlfgang <wlfgang@westridgesystems.com>

---------

Signed-off-by: wlfgang <wlfgang@westridgesystems.com>
Co-authored-by: artur-ciocanu <artur.ciocanu@gmail.com>
Co-authored-by: wlfgang <wlfgang@westridgesystems.com>
Signed-off-by: salaboy <Salaboy@gmail.com>

* Use dependencies BOM and remove duplicates. (dapr#1588)

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>

* Examples + Docs for App API Token authentication for gRPC and HTTP (dapr#1589)

* example

Signed-off-by: Cassandra Coyle <cassie@diagrid.io>

* docs for example

Signed-off-by: Cassandra Coyle <cassie@diagrid.io>

---------

Signed-off-by: Cassandra Coyle <cassie@diagrid.io>
Signed-off-by: salaboy <Salaboy@gmail.com>

* Another set of Maven version, properties and plugin improvements (dapr#1596)

Signed-off-by: salaboy <Salaboy@gmail.com>

* Adding a Flux based subscribeToEvents method (dapr#1598)

* Adding a Flux based subscribeToEvents method

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Simplify GRPC stream handling

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Simplify Javadoc

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Fix unit tests and simplify implementation

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Adding event subscriber stream observer to simplify subscription logic

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Use start() method to start stream subscription

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Add unit test for event suscriber observer

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Improve the tests a little bit

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Remove the unnecessary method

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Improve error handling and use CloudEvent wrapper

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Fix unit tests asserts

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Adjust Java examples for Subscriber

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

---------

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>

* Remove SDK docs due to migration to main Docs repo (dapr#1593)

* Remove SDK docs due to migration to main Docs repo

Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com>

* Remove sed lines related to sdk docs

Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com>

---------

Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com>
Co-authored-by: salaboy <Salaboy@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>

* cleaning up sdk version script

Signed-off-by: salaboy <Salaboy@gmail.com>

---------

Signed-off-by: salaboy <Salaboy@gmail.com>
Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>
Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: wlfgang <wlfgang@westridgesystems.com>
Signed-off-by: Cassandra Coyle <cassie@diagrid.io>
Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com>
Co-authored-by: Matheus Cruz <56329339+mcruzdev@users.noreply.github.com>
Co-authored-by: artur-ciocanu <artur.ciocanu@gmail.com>
Co-authored-by: Raymundo Zamora <raymundo.zamora@encora.com>
Co-authored-by: Siri Varma Vegiraju <siri.varma@outlook.com>
Co-authored-by: Cassie Coyle <cassie.i.coyle@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: wlfgang <14792753+wlfgang@users.noreply.github.com>
Co-authored-by: wlfgang <wlfgang@westridgesystems.com>
Co-authored-by: Marc Duiker <marcduiker@users.noreply.github.com>
Signed-off-by: siri-varma <siri.varma@outlook.com>
@siri-varma siri-varma force-pushed the users/svegiraju/add-cryptography branch 2 times, most recently from ad3dae4 to 5bc40d5 Compare December 29, 2025 21:55
- Add EncryptRequestAlpha1 and DecryptRequestAlpha1 domain classes
- Implement encrypt() and decrypt() methods in DaprPreviewClient
- Add CryptoExample and StreamingCryptoExample with documentation
- Add integration tests for crypto operations
- Add localstorage crypto component configuration

Signed-off-by: siri-varma <siri.varma@outlook.com>
Signed-off-by: siri-varma <siri.varma@outlook.com>
Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com>
Signed-off-by: siri-varma <siri.varma@outlook.com>
Signed-off-by: siri-varma <siri.varma@outlook.com>
@codecov
Copy link

codecov bot commented Dec 29, 2025

Codecov Report

❌ Patch coverage is 85.10638% with 21 lines in your changes missing coverage. Please review.
✅ Project coverage is 78.82%. Comparing base (d759c53) to head (4da57b5).
⚠️ Report is 243 commits behind head on master.

Files with missing lines Patch % Lines
...k/src/main/java/io/dapr/client/DaprClientImpl.java 81.41% 14 Missing and 7 partials ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #1599      +/-   ##
============================================
+ Coverage     76.91%   78.82%   +1.90%     
- Complexity     1592     1996     +404     
============================================
  Files           145      219      +74     
  Lines          4843     6111    +1268     
  Branches        562      676     +114     
============================================
+ Hits           3725     4817    +1092     
- Misses          821      946     +125     
- Partials        297      348      +51     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@siri-varma
Copy link
Contributor Author

@dapr/approvers-java-sdk/ @dapr/maintainers-java-sdk This PR is ready for review. Thank you

@siri-varma siri-varma requested a review from cicoyle December 29, 2025 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Cryptography API to Java SDK

3 participants