mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-07 18:25:23 +00:00
84811: Merged PLATFORM1 (5.0/Cloud) to HEAD-BUG-FIX (5.0/Cloud) 82464: ACE-1246 "Allow the customer to change the document encryption key" Encrypting content store git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@85170 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
151 lines
3.4 KiB
Java
151 lines
3.4 KiB
Java
package org.alfresco.repo.domain.contentdata;
|
|
|
|
import java.io.Serializable;
|
|
import java.nio.ByteBuffer;
|
|
|
|
import org.alfresco.service.cmr.repository.ContentUrlKey;
|
|
import org.apache.commons.codec.DecoderException;
|
|
|
|
/**
|
|
*
|
|
* @author sglover
|
|
*
|
|
*/
|
|
public class ContentUrlKeyEntity implements Serializable
|
|
{
|
|
private static final long serialVersionUID = -6594309522849585169L;
|
|
|
|
private Long id;
|
|
private Long contentUrlId;
|
|
private byte[] encryptedKeyAsBytes;
|
|
private Integer keySize;
|
|
private String algorithm;
|
|
private String masterKeystoreId;
|
|
private String masterKeyAlias;
|
|
private Long unencryptedFileSize;
|
|
|
|
public ContentUrlKeyEntity()
|
|
{
|
|
}
|
|
|
|
public ContentUrlKey getContentUrlKey() throws DecoderException
|
|
{
|
|
ContentUrlKey contentUrlKey = new ContentUrlKey();
|
|
contentUrlKey.setAlgorithm(algorithm);
|
|
contentUrlKey.setKeySize(keySize);
|
|
contentUrlKey.setEncryptedKeyBytes(ByteBuffer.wrap(encryptedKeyAsBytes));
|
|
contentUrlKey.setMasterKeyAlias(masterKeyAlias);
|
|
contentUrlKey.setMasterKeystoreId(masterKeystoreId);
|
|
contentUrlKey.setUnencryptedFileSize(unencryptedFileSize);
|
|
return contentUrlKey;
|
|
}
|
|
|
|
public Long getContentUrlId()
|
|
{
|
|
return contentUrlId;
|
|
}
|
|
|
|
public void setContentUrlId(Long contentUrlId)
|
|
{
|
|
this.contentUrlId = contentUrlId;
|
|
}
|
|
|
|
public void setEncryptedKeyAsBytes(byte[] encryptedKeyAsBytes)
|
|
{
|
|
this.encryptedKeyAsBytes = encryptedKeyAsBytes;
|
|
}
|
|
|
|
public byte[] getEncryptedKeyAsBytes()
|
|
{
|
|
return encryptedKeyAsBytes;
|
|
}
|
|
|
|
public void updateEncryptedKey(EncryptedKey encryptedKey)
|
|
{
|
|
byte[] encryptedKeyAsBytes = new byte[encryptedKey.getByteBuffer().remaining()];
|
|
encryptedKey.getByteBuffer().get(encryptedKeyAsBytes);
|
|
this.encryptedKeyAsBytes = encryptedKeyAsBytes;
|
|
setKeySize(encryptedKeyAsBytes.length*8);
|
|
setAlgorithm(encryptedKey.getAlgorithm());
|
|
setMasterKeyAlias(encryptedKey.getMasterKeyAlias());
|
|
setMasterKeystoreId(encryptedKey.getMasterKeystoreId());
|
|
}
|
|
|
|
public Long getId()
|
|
{
|
|
return id;
|
|
}
|
|
|
|
public void setId(Long id)
|
|
{
|
|
this.id = id;
|
|
}
|
|
|
|
public EncryptedKey getEncryptedKey() throws DecoderException
|
|
{
|
|
EncryptedKey encryptedKey = new EncryptedKey(getMasterKeystoreId(), getMasterKeyAlias(),
|
|
getAlgorithm(), ByteBuffer.wrap(this.encryptedKeyAsBytes));
|
|
return encryptedKey;
|
|
}
|
|
|
|
public Long getUnencryptedFileSize()
|
|
{
|
|
return unencryptedFileSize;
|
|
}
|
|
|
|
public void setUnencryptedFileSize(Long unencryptedFileSize)
|
|
{
|
|
this.unencryptedFileSize = unencryptedFileSize;
|
|
}
|
|
|
|
public void setKeySize(Integer keySize)
|
|
{
|
|
this.keySize = keySize;
|
|
}
|
|
|
|
public Integer getKeySize()
|
|
{
|
|
return keySize;
|
|
}
|
|
|
|
public String getAlgorithm()
|
|
{
|
|
return algorithm;
|
|
}
|
|
|
|
public void setAlgorithm(String algorithm)
|
|
{
|
|
this.algorithm = algorithm;
|
|
}
|
|
|
|
public String getMasterKeystoreId()
|
|
{
|
|
return masterKeystoreId;
|
|
}
|
|
|
|
public void setMasterKeystoreId(String masterKeystoreId)
|
|
{
|
|
this.masterKeystoreId = masterKeystoreId;
|
|
}
|
|
|
|
public String getMasterKeyAlias()
|
|
{
|
|
return masterKeyAlias;
|
|
}
|
|
|
|
public void setMasterKeyAlias(String masterKeyAlias)
|
|
{
|
|
this.masterKeyAlias = masterKeyAlias;
|
|
}
|
|
|
|
@Override
|
|
public String toString()
|
|
{
|
|
return "ContentUrlKeyEntity [id=" + id + ", encryptedKeyAsBytes="
|
|
+ encryptedKeyAsBytes+ ", keySize=" + keySize + ", algorithm="
|
|
+ algorithm + ", masterKeystoreId=" + masterKeystoreId
|
|
+ ", masterKeyAlias=" + masterKeyAlias
|
|
+ ", unencryptedFileSize=" + unencryptedFileSize + "]";
|
|
}
|
|
}
|