jcaddel / maven-s3-wagon

Multi-threaded wagon to connect Maven with Amazon S3
123 stars 50 forks source link

S3 client side encryption support. #20

Open Andrei-Pozolotin opened 9 years ago

Andrei-Pozolotin commented 9 years ago

Option 2: Using a Client-Side Master Key

http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html

Andrei-Pozolotin commented 9 years ago

Amazon S3 Client Side Encryption: http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html

Support for Option 2: Using a Client-Side Master Key: http://docs.aws.amazon.com/AmazonS3/latest/dev/encrypt-client-side-symmetric-master-key.html

Experimental release on Maven Central, in non Kuali name space: http://search.maven.org/#artifactdetails%7Ccom.carrotgarden.maven.wagons%7Cmaven-s3-wagon%7C1.2.2-rev001%7Cjar

Master key derivation can use any AES compatible SecretKeyFactory algorithms with any AES compatible key sizes from the SunJCEProvider: https://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html#SunJCEProvider

Example default encryption parameters entry in settings.xml:

<server>
  <id>my.server</id>
  <username>[AWS Access Key ID]</username>
  <password>[AWS Secret Access Key]</password>
  <privateKey>default</privateKey>
  <passphrase>[Encryption Password]</passphrase>
</server>

Example custom encryption parameters entry in settings.xml:

<server>
  <id>my.server</id>
  <username>[AWS Access Key ID]</username>
  <password>[AWS Secret Access Key]</password>
  <privateKey>vers=0;algo=PBKDF2WithHmacSHA1;iter=5000;size=128;salt=A40BC834D695F313</privateKey>
  <passphrase>[Encryption Password]</passphrase>
</server>