jruby-pgp 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -66,8 +66,7 @@ public class Encryptor {
66
66
 
67
67
  useBinaryFormat();
68
68
  useZIPCompression();
69
-
70
- _algorithm = PGPEncryptedData.CAST5;
69
+ useCAST5Algorithm();
71
70
  }
72
71
 
73
72
  public Encryptor() {
@@ -185,12 +184,19 @@ public class Encryptor {
185
184
  return _algorithm;
186
185
  }
187
186
 
188
- /**
189
- * @see org.bouncycastle.bcpg.SymmetricKeyAlgorithmTags
190
- **/
191
187
  public void setAlgorithm(int algorithm) {
192
188
  _algorithm = algorithm;
193
189
  }
190
+ public void useIDEAAlgorithm() { setAlgorithm(PGPEncryptedData.IDEA); }
191
+ public void useTripleDESAlgorithm() { setAlgorithm(PGPEncryptedData.TRIPLE_DES);}
192
+ public void useCAST5Algorithm() { setAlgorithm(PGPEncryptedData.CAST5); }
193
+ public void useBlowfishAlgorithm() { setAlgorithm(PGPEncryptedData.BLOWFISH); }
194
+ public void useSaferAlgorithm() { setAlgorithm(PGPEncryptedData.SAFER); }
195
+ public void useDESAlgorithm() { setAlgorithm(PGPEncryptedData.DES); }
196
+ public void useAES128Algorithm() { setAlgorithm(PGPEncryptedData.AES_128); }
197
+ public void useAES192Algorithm() { setAlgorithm(PGPEncryptedData.AES_192); }
198
+ public void useAES256Algorithm() { setAlgorithm(PGPEncryptedData.AES_256); }
199
+ public void useTwoFishAlgorithm() { setAlgorithm(PGPEncryptedData.TWOFISH); }
194
200
 
195
201
  /** End Accessor Methods **/
196
202
 
@@ -227,6 +233,9 @@ public class Encryptor {
227
233
  if (fileName == null)
228
234
  fileName = PGPLiteralData.CONSOLE;
229
235
 
236
+ if (modificationTime == null)
237
+ modificationTime = new Date();
238
+
230
239
  PGPEncryptedDataGenerator pgpDataGenerator = newPGPDataGenerator();
231
240
  PGPLiteralDataGenerator dataGenerator = new PGPLiteralDataGenerator();
232
241
  PGPCompressedDataGenerator compressedDataGenerator = new PGPCompressedDataGenerator(getCompression());
data/lib/pgp.rb CHANGED
@@ -22,4 +22,10 @@ module PGP
22
22
  def self.string_to_bais(string)
23
23
  ByteArrayInputStream.new string.to_java_bytes
24
24
  end
25
+
26
+ # This exists for stubbing during tests
27
+ def self.time_now
28
+ Time.now
29
+ end
30
+
25
31
  end
@@ -17,24 +17,24 @@ module PGP
17
17
  add_keys_from_enumerator(key_enumerator)
18
18
  end
19
19
 
20
- def encrypt(cleartext, filename=nil)
21
- name = filename.to_s if filename
22
- bytes = cleartext.to_java_bytes
20
+ def encrypt(cleartext, filename=nil, mtime=nil)
21
+ name = filename.to_s if filename
22
+ bytes = cleartext.to_java_bytes
23
+ mtime ||= PGP.time_now
23
24
 
24
- _encrypt(bytes, name)
25
+ _encrypt(bytes, name, mtime)
25
26
  end
26
27
 
27
- # @todo: Create an encryptStream method and pass it the file handle
28
28
  def encrypt_file(file_path)
29
29
  name = File.basename(file_path)
30
30
  bytes = File.read(file_path).to_java_bytes
31
31
 
32
- _encrypt(bytes, name)
32
+ _encrypt(bytes, name, File.mtime(file_path))
33
33
  end
34
34
 
35
35
  protected
36
- def _encrypt(bytes, name)
37
- encrypted_bytes = encrypt_bytes(bytes, name)
36
+ def _encrypt(bytes, name, modification_time=nil)
37
+ encrypted_bytes = encrypt_bytes(bytes, name, modification_time)
38
38
  encrypted_string = String.from_java_bytes(encrypted_bytes)
39
39
  end
40
40
 
@@ -1,3 +1,3 @@
1
1
  module PGP
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: jruby-pgp
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.1
5
+ version: 0.1.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Scott Gonyea
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-11-19 00:00:00 Z
13
+ date: 2012-11-22 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rake