[ 
https://issues.apache.org/jira/browse/SLING-13282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18116835#comment-18116835
 ] 

Konrad Windszus commented on SLING-13282:
-----------------------------------------

Thanks for the feedback. 
Regarding 

> i agree the encryption should be part if the caconfig impl as well

Can you suggest where exactly? I am not that familiar with the 
ConfigurationManager API part used for writing...

> we need the option to replace the actual crypto implementation with something 
> else. so the EncryptionService interface should be moved to the SPI package 
> and be exposed

I think actually the CryptoService API at 
<https://github.com/apache/sling-org-apache-sling-commons-crypto/blob/master/src/main/java/org/apache/sling/commons/crypto/CryptoService.java>
 is enough as abstraction layer, no need for an additional one. That one can be 
easily implemented by custom code. As multiple implementations are already 
supported we just need a configurable way of hooking the CAConfig to one 
implementation.



> Support automatic decryption in Context-Aware Configurations
> ------------------------------------------------------------
>
>                 Key: SLING-13282
>                 URL: https://issues.apache.org/jira/browse/SLING-13282
>             Project: Sling
>          Issue Type: Improvement
>    Affects Versions: Context-Aware Configuration API 1.3.0, Context-Aware 
> Configuration Impl 1.7.2
>            Reporter: Konrad Windszus
>            Assignee: Konrad Windszus
>            Priority: Major
>
> The high-level API described at 
> https://sling.apache.org/documentation/bundles/context-aware-configuration/context-aware-configuration.html#context-aware-configurations
>  relies on annotations to map a property to an underlying resource property: 
> https://sling.apache.org/documentation/bundles/context-aware-configuration/context-aware-configuration.html#describe-configurations-via-annotation-classes.
> Those should allow to optionally decrypt the underlying resource property 
> while reading from the resource through 
> https://sling.apache.org/documentation/bundles/commons-crypto.html#crypto-service.
>  Either the annotation 
> https://github.com/apache/sling-org-apache-sling-caconfig-api/blob/master/src/main/java/org/apache/sling/caconfig/annotation/Property.java
>  could be extended with an additional boolean flag or one could use the 
> existing {{properties}} element to use that.
> This is useful for sensitive data (like passwords, API keys, ...) which is 
> site specific (and therefore hard to store inside OSGi configurations) but 
> should nevertheless not be stored in clear text in the underlying repository.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to