Hi Kill Bill team,
I'd like to propose a contribution to enhance the security of tenant plugin configurations by introducing encryption during storage and decryption during retrieval.
As a first step, I propose adding encryption logic before storing plugin configurations in the following locations:
This would ensure that sensitive tenant configuration values are encrypted at rest.
In a follow-up, I can also implement decryption logic for the following endpoint to support secure retrieval:
GET /1.0/kb/tenants/uploadPluginConfig/{pluginName}
DefaultTenantUserApi.java – Line 136
Please let me know if this approach fits your roadmap and security considerations. I'm happy to align with any existing guidelines or architectural decisions before opening a PR
Best regards,
Ahmed Elwan
--
You received this message because you are subscribed to the Google Groups "Kill Bill users mailing-list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to killbilling-us...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/killbilling-users/70b6840f-fbb1-41e8-b58d-7b610970b645n%40googlegroups.com.
Hi Pierre,
Thanks for your feedback!
As suggested, I plan to use Apache Shiro for encryption to avoid introducing any new third-party dependencies.
Could you kindly share a sample or reference from Kill Bill where Shiro encryption is already used, along with the approach you're following?
Also, regarding your suggestion to implement the change in the killbill-plugin-framework-java instead of the Kill Bill core, could you please elaborate on:
Where exactly in the plugin framework this decryption logic should be implemented?
How you envision the integration, especially in terms of receiving encrypted properties and exposing them securely to the core?
Lastly, would this feature, if implemented in the plugin framework, be included in an upcoming Kill Bill release, or would it remain as a custom plugin extension?
Looking forward to your guidance.
Best regards,
Ahmed Elwan