package io.fathom.cloud.secrets.services; import io.fathom.cloud.protobuf.SecretsModel.SecretRecordItemData; import io.fathom.cloud.services.SecretService.SecretItem; import org.keyczar.Crypter; import org.keyczar.exceptions.KeyczarException; public class SecretItemImpl implements SecretItem { private final SecretImpl parent; private final SecretRecordItemData data; public SecretItemImpl(SecretImpl parent, SecretRecordItemData data) { this.parent = parent; this.data = data; } @Override public byte[] getBytes() { Crypter crypter = parent.getCrypter(); byte[] plaintext; try { plaintext = crypter.decrypt(data.getCiphertext().toByteArray()); } catch (KeyczarException e) { throw new IllegalStateException("Error decrypting secret", e); } return plaintext; } }