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

Vladimir Ozerov commented on IGNITE-8485:
-----------------------------------------

Hi [~NIzhikov], my comments:

First part of comments relate to public API only:
1) EncryptionSpi should be located inside o.a.i.spi.encryption package for 
consistency with other SPIs
2) Please add package-info files to new public packages (o.a.i.spi.encryption, 
o.a.i.spi.encryption.jks)
3) I would rename "jks" package to "keystore" to have consistency between 
package and class names (as in most other SPIs)
4) Same thing for EncryptionKey -> KeystoreEncryptionKey
5) NoopEncryptionSpi should either be removed completely (manager could be used 
to check if encryption is enabled), or moved to "noop" package (with 
package-info). I vote for removal - no need to add useless classes to public 
API.
6) IEncryptionSpi - dotnetdocs are missing
7) Apache.Ignite.Core.Encryption.Aes namespace should be renamed to 
Apache.Ignite.Core.Encryption.Keystore

Internals:
1) GridComponent.DiscoveryDataExchangeType.ENCRYPTION_MGR - I think it is 
better to move it after CACHE_CRD_PROC for safety.
2) GridEncryptionManager.start/stop - no need to write debug log, as it is 
already written in startSpi/stopSpi methods
3) GridEncryptionManager.onKernalStart0 - this is too late to register 
listeners, as IO and discovery is already active at this point. Things like 
this should be prepared on start() stage.
4) GridEncryptionManager.onKernalStart0 - I cannot understand why we are 
listening to {{ctx.discovery().localJoinFuture().listen}} here. Could you 
please clarify?
5) GridEncryptionManager - checks for {{notCoordinator()}} looks strange to me. 
I do not see any cases where current coordinator should do anything else than 
other nodes. All of them are equal. The only thing we need is to agree on 
encryption key, which should happen on all nodes in the same place - during 
cache creation inside exchange thread.

All in all, looks like we need to do some clean up in API and in manager. 

Also I would like to ask persistence experts to throw a glance at 
storage-related code (WAL, IOs, etc). [~agoncharuk], could you please do that 
or suggest someone else, who can help us?

> TDE - Phase-1
> -------------
>
>                 Key: IGNITE-8485
>                 URL: https://issues.apache.org/jira/browse/IGNITE-8485
>             Project: Ignite
>          Issue Type: Sub-task
>            Reporter: Nikolay Izhikov
>            Assignee: Nikolay Izhikov
>            Priority: Critical
>             Fix For: 2.7
>
>
> Basic support for a Transparent Data Encryption should be implemented:
> 1. Usage of standard JKS, Java Security.
> 2. Persistent Data Encryption/Decryption.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to