Hi ,

We perform the below operations on "*material*" while creating key.

1.) In KMS.java we decode it.
Link:
https://github.com/apache/ranger/blob/master/kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMS.java#L144

2.) Which is further supplied to createKey() in RangerKeyStoreProvider.java
Link:
https://github.com/apache/ranger/blob/master/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStoreProvider.java#L191

3.) Within method innerSetKeyVersion() in RangerKeyStoreProvider.java we
create obj of SecretKeySpec using material and cipher
Link:
https://github.com/apache/ranger/blob/master/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStoreProvider.java#L222

4.) SecretKeySpec obj is supplied to addKeyEntry() in class
RangerKeyStore.java
Link:
https://github.com/apache/ranger/blob/master/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStore.java#L166

Let us know if you have any further concern.

Thanks,
Bhavik Patel
+91-7208744109


On Tue, Mar 12, 2019 at 8:10 PM jeremy montgomery <alericmcke...@gmail.com>
wrote:

> All,
>
> I've been writing some python code that uses the ranger kms material as
> the key (hope is to mirror the eek/dek functionality of the encrypted zones
> for field level encryption).  However, I'm totally confused by why the
> material is 43 bytes long for AES/CTR/NoPadding instead of 32 bytes.
> Looking through KMS.java, it looks like it should be constrained to 32 but
> all of my materials are generated as 43 bytes.  is there an internal hash
> i'm missing here?
>
>
>

Reply via email to