Skip to content

Commit c1c9c9a

Browse files
authored
Merge pull request #395 from rakshitkr/fix/issue-342
API & template changes to get rid of addReturnObject method
2 parents 3661e86 + f15bb32 commit c1c9c9a

14 files changed

Lines changed: 44 additions & 61 deletions

File tree

plugins/de.cognicrypt.codegenerator/src/main/java/de/cognicrypt/codegenerator/crysl/CrySLCodeGenerator.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,6 @@ public CrySLCodeGenerator addParameter(Object par, String variableName) {
3434
return this;
3535
}
3636

37-
public CrySLCodeGenerator addReturnObject(Object par) {
38-
last.setReturnObject(par);
39-
resolveLast();
40-
return this;
41-
}
42-
4337
public boolean generate() {
4438
resolveLast();
4539
return true;

plugins/de.cognicrypt.codegenerator/src/main/java/de/cognicrypt/codegenerator/crysl/RuleContext.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ public interface RuleContext {
1414

1515
public RuleContext addParameter(Object par, String variableName);
1616

17-
public BeforeRuleContext addReturnObject(Object par);
18-
1917
public RuleContext includeClass(String rule);
2018

2119
public boolean generate();

plugins/de.cognicrypt.codegenerator/src/main/java/de/cognicrypt/codegenerator/crysl/templates/asymmetricencryption/SecureEncryptor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class SecureEncryptor {
2020

2121
public java.security.KeyPair generateKeyPair() throws NoSuchAlgorithmException {
2222
java.security.KeyPair keyPair = null;
23-
CrySLCodeGenerator.getInstance().includeClass("java.security.KeyPairGenerator").addReturnObject(keyPair);
23+
CrySLCodeGenerator.getInstance().includeClass("java.security.KeyPairGenerator").addParameter(keyPair, "kp");
2424
return keyPair;
2525
}
2626

@@ -30,7 +30,7 @@ public byte[] encryptData(byte[] plaintext, java.security.KeyPair keyPair) {
3030
// Note: You need to use the public key of your communication partner here, not your public key.
3131
java.security.PublicKey pubKey = keyPair.getPublic();
3232
CrySLCodeGenerator.getInstance().includeClass("javax.crypto.Cipher").addParameter(mode, "encmode").addParameter(plaintext, "plainText").addParameter(pubKey, "key")
33-
.addReturnObject(cipherText).generate();
33+
.addParameter(cipherText, "cipherText").generate();
3434
return cipherText;
3535
}
3636

@@ -40,7 +40,7 @@ public byte[] decrypt(byte[] ciphertext, java.security.KeyPair keyPair) {
4040
java.security.PrivateKey privateKey = keyPair.getPrivate();
4141

4242
CrySLCodeGenerator.getInstance().includeClass("javax.crypto.Cipher").addParameter(mode, "encmode").addParameter(ciphertext, "plainText").addParameter(privateKey, "key")
43-
.addReturnObject(res).generate();
43+
.addParameter(res, "cipherText").generate();
4444
return res;
4545
}
4646

plugins/de.cognicrypt.codegenerator/src/main/java/de/cognicrypt/codegenerator/crysl/templates/digitalsignatures/SecureSigner.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,23 @@ public class SecureSigner {
2222

2323
public static java.security.KeyPair getKey() throws NoSuchAlgorithmException {
2424
java.security.KeyPair pair = null;
25-
CrySLCodeGenerator.getInstance().includeClass("java.security.KeyPairGenerator").addReturnObject(pair).generate();
25+
CrySLCodeGenerator.getInstance().includeClass("java.security.KeyPairGenerator").addParameter(pair, "kp").generate();
2626
return pair;
2727
}
2828

2929
public static java.lang.String sign(java.lang.String msg, java.security.KeyPair keyPair) throws NoSuchAlgorithmException, InvalidKeyException, SignatureException {
3030
byte[] msgBytes = msg.getBytes(StandardCharsets.UTF_8);
3131
byte[] res = null;
3232
java.security.PrivateKey privKey = keyPair.getPrivate();
33-
CrySLCodeGenerator.getInstance().includeClass("java.security.Signature").addParameter(privKey, "priv").addParameter(msgBytes, "inpba").addReturnObject(res).generate();
33+
CrySLCodeGenerator.getInstance().includeClass("java.security.Signature").addParameter(privKey, "priv").addParameter(msgBytes, "inpba").addParameter(res, "out").generate();
3434
return Base64.getEncoder().encodeToString(res);
3535
}
3636

3737
public static boolean vfy(java.lang.String msg, java.security.KeyPair keyPair) throws NoSuchAlgorithmException, InvalidKeyException, SignatureException {
3838
boolean res = false;
3939
byte[] msgBytes = Base64.getDecoder().decode(msg);
4040
java.security.PublicKey pubKey = keyPair.getPublic();
41-
CrySLCodeGenerator.getInstance().includeClass("java.security.Signature").addParameter(pubKey, "pub").addParameter(msgBytes, "sign").addReturnObject(res).generate();
41+
CrySLCodeGenerator.getInstance().includeClass("java.security.Signature").addParameter(pubKey, "pub").addParameter(msgBytes, "sign").addParameter(res, "out").generate();
4242
return res;
4343
}
4444

plugins/de.cognicrypt.codegenerator/src/main/java/de/cognicrypt/codegenerator/crysl/templates/encryption/SecureEncryptor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public javax.crypto.SecretKey getKey(char[] pwd) {
2222
int keysize = 128;
2323
CrySLCodeGenerator.getInstance().includeClass("java.security.SecureRandom").addParameter(salt, "next").includeClass("java.security.PBEKeySpec")
2424
.addParameter(pwd, "password").addParameter(keysize, "keylength").includeClass("javax.crypto.SecretKeyFactory").includeClass("java.security.SecretKey")
25-
.includeClass("javax.crypto.SecretKeySpec").addReturnObject(encryptionKey).generate();
25+
.includeClass("javax.crypto.SecretKeySpec").addParameter(encryptionKey, "this").generate();
2626

2727
return encryptionKey;
2828
}
@@ -34,7 +34,7 @@ public byte[] encrypt(byte[] plaintext, javax.crypto.SecretKey key) {
3434

3535
CrySLCodeGenerator.getInstance().includeClass("java.security.SecureRandom").addParameter(ivBytes, "next").includeClass("javax.crypto.spec.IvParameterSpec")
3636
.addParameter(ivBytes, "iv").includeClass("javax.crypto.Cipher").addParameter(mode, "encmode").addParameter(plaintext, "plainText").addParameter(key, "key")
37-
.addReturnObject(res).generate();
37+
.addParameter(res, "cipherText").generate();
3838

3939
byte[] ret = new byte[ivBytes.length + res.length];
4040
System.arraycopy(ivBytes, 0, ret, 0, ivBytes.length);
@@ -52,7 +52,7 @@ public byte[] decrypt(byte[] ciphertext, javax.crypto.SecretKey key) {
5252
int mode = Cipher.DECRYPT_MODE;
5353
byte[] res = null;
5454
CrySLCodeGenerator.getInstance().includeClass("javax.crypto.spec.IvParameterSpec").addParameter(ivBytes, "iv").includeClass("javax.crypto.Cipher")
55-
.addParameter(mode, "encmode").addParameter(key, "key").addParameter(data, "plainText").addReturnObject(res).generate();
55+
.addParameter(mode, "encmode").addParameter(key, "key").addParameter(data, "plainText").addParameter(res, "cipherText").generate();
5656

5757
return res;
5858
}

plugins/de.cognicrypt.codegenerator/src/main/java/de/cognicrypt/codegenerator/crysl/templates/encryptionfiles/SecureEncryptor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public javax.crypto.SecretKey getKey(char[] pwd) {
2626
int keysize = 128;
2727
CrySLCodeGenerator.getInstance().includeClass("java.security.SecureRandom").addParameter(salt, "next").includeClass("java.security.PBEKeySpec")
2828
.addParameter(pwd, "password").addParameter(keysize, "keylength").includeClass("javax.crypto.SecretKeyFactory").includeClass("java.security.SecretKey")
29-
.includeClass("javax.crypto.SecretKeySpec").addReturnObject(encryptionKey).generate();
29+
.includeClass("javax.crypto.SecretKeySpec").addParameter(encryptionKey, "this").generate();
3030

3131
return encryptionKey;
3232
}
@@ -39,7 +39,7 @@ public java.io.File encrypt(java.io.File plaintext, javax.crypto.SecretKey key)
3939

4040
CrySLCodeGenerator.getInstance().includeClass("java.security.SecureRandom").addParameter(ivBytes, "next").includeClass("javax.crypto.spec.IvParameterSpec")
4141
.addParameter(ivBytes, "iv").includeClass("javax.crypto.Cipher").addParameter(mode, "encmode").addParameter(plaintextFile, "plainText").addParameter(key, "key")
42-
.addReturnObject(res).generate();
42+
.addParameter(res, "cipherText").generate();
4343

4444
byte[] ret = new byte[ivBytes.length + res.length];
4545
System.arraycopy(ivBytes, 0, ret, 0, ivBytes.length);
@@ -58,7 +58,7 @@ public java.io.File decrypt(java.io.File ciphertext, javax.crypto.SecretKey key)
5858
int mode = Cipher.DECRYPT_MODE;
5959
byte[] res = null;
6060
CrySLCodeGenerator.getInstance().includeClass("javax.crypto.spec.IvParameterSpec").addParameter(ivBytes, "iv").includeClass("javax.crypto.Cipher")
61-
.addParameter(mode, "encmode").addParameter(data, "plainText").addParameter(key, "key").addReturnObject(res).generate();
61+
.addParameter(mode, "encmode").addParameter(data, "plainText").addParameter(key, "key").addParameter(res, "cipherText").generate();
6262

6363
Files.write(Paths.get(ciphertext.getAbsolutePath()), res);
6464
return ciphertext;

plugins/de.cognicrypt.codegenerator/src/main/java/de/cognicrypt/codegenerator/crysl/templates/encryptionhybrid/SecureEncryptor.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ public class SecureEncryptor {
2121

2222
public javax.crypto.SecretKey generateSessionKey() throws NoSuchAlgorithmException {
2323
javax.crypto.SecretKey sessionKey = null;
24-
CrySLCodeGenerator.getInstance().includeClass("javax.crypto.KeyGenerator").addReturnObject(sessionKey).generate();
24+
CrySLCodeGenerator.getInstance().includeClass("javax.crypto.KeyGenerator").addParameter(sessionKey, "key").generate();
2525
return sessionKey;
2626
}
2727

2828
public java.security.KeyPair generateKeyPair() throws NoSuchAlgorithmException {
2929
java.security.KeyPair keyPair = null;
30-
CrySLCodeGenerator.getInstance().includeClass("java.security.KeyPairGenerator").addReturnObject(keyPair);
30+
CrySLCodeGenerator.getInstance().includeClass("java.security.KeyPairGenerator").addParameter(keyPair, "kp");
3131
return keyPair;
3232
}
3333

@@ -36,7 +36,7 @@ public byte[] encryptSessionKey(javax.crypto.SecretKey sessionKey, java.security
3636
int mode = Cipher.WRAP_MODE;
3737
java.security.PublicKey publicKey = keyPair.getPublic();
3838
CrySLCodeGenerator.getInstance().includeClass("javax.crypto.Cipher").addParameter(mode, "encmode").addParameter(publicKey, "key").addParameter(sessionKey, "wrappedKey")
39-
.addReturnObject(wrappedKeyBytes).generate();
39+
.addParameter(wrappedKeyBytes, "wrappedKeyBytes").generate();
4040
return wrappedKeyBytes;
4141
}
4242

@@ -47,7 +47,7 @@ public byte[] encryptData(byte[] plaintext, javax.crypto.SecretKey key) {
4747

4848
CrySLCodeGenerator.getInstance().includeClass("java.security.SecureRandom").addParameter(ivBytes, "next").includeClass("javax.crypto.spec.IvParameterSpec")
4949
.addParameter(ivBytes, "iv").includeClass("javax.crypto.Cipher").addParameter(mode, "encmode").addParameter(plaintext, "plainText").addParameter(key, "key")
50-
.addReturnObject(cipherText).generate();
50+
.addParameter(cipherText, "cipherText").generate();
5151

5252
byte[] ret = new byte[ivBytes.length + cipherText.length];
5353
System.arraycopy(ivBytes, 0, ret, 0, ivBytes.length);
@@ -65,7 +65,7 @@ public byte[] decryptData(byte[] ciphertext, javax.crypto.SecretKey key) {
6565
int mode = Cipher.DECRYPT_MODE;
6666
byte[] res = null;
6767
CrySLCodeGenerator.getInstance().includeClass("javax.crypto.spec.IvParameterSpec").addParameter(ivBytes, "iv").includeClass("javax.crypto.Cipher")
68-
.addParameter(mode, "encmode").addParameter(data, "plainText").addParameter(key, "key").addReturnObject(res).generate();
68+
.addParameter(mode, "encmode").addParameter(data, "plainText").addParameter(key, "key").addParameter(res, "cipherText").generate();
6969

7070
return res;
7171
}

plugins/de.cognicrypt.codegenerator/src/main/java/de/cognicrypt/codegenerator/crysl/templates/encryptionhybridfiles/SecureEncryptor.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ public class SecureEncryptor {
2424

2525
public javax.crypto.SecretKey generateSessionKey() throws NoSuchAlgorithmException {
2626
javax.crypto.SecretKey sessionKey = null;
27-
CrySLCodeGenerator.getInstance().includeClass("javax.crypto.KeyGenerator").addReturnObject(sessionKey).generate();
27+
CrySLCodeGenerator.getInstance().includeClass("javax.crypto.KeyGenerator").addParameter(sessionKey, "key").generate();
2828
return sessionKey;
2929
}
3030

3131
public java.security.KeyPair generateKeyPair() throws NoSuchAlgorithmException {
3232
java.security.KeyPair keyPair = null;
33-
CrySLCodeGenerator.getInstance().includeClass("java.security.KeyPairGenerator").addReturnObject(keyPair);
33+
CrySLCodeGenerator.getInstance().includeClass("java.security.KeyPairGenerator").addParameter(keyPair, "kp");
3434
return keyPair;
3535
}
3636

@@ -39,7 +39,7 @@ public byte[] encryptSessionKey(javax.crypto.SecretKey sessionKey, java.security
3939
int mode = Cipher.WRAP_MODE;
4040
java.security.PublicKey publicKey = keyPair.getPublic();
4141
CrySLCodeGenerator.getInstance().includeClass("javax.crypto.Cipher").addParameter(mode, "encmode").addParameter(publicKey, "key").addParameter(sessionKey, "wrappedKey")
42-
.addReturnObject(wrappedKeyBytes).generate();
42+
.addParameter(wrappedKeyBytes, "wrappedKeyBytes").generate();
4343
return wrappedKeyBytes;
4444
}
4545

@@ -51,7 +51,7 @@ public java.io.File encryptData(java.io.File plaintext, javax.crypto.SecretKey k
5151

5252
CrySLCodeGenerator.getInstance().includeClass("java.security.SecureRandom").addParameter(ivBytes, "next").includeClass("javax.crypto.spec.IvParameterSpec")
5353
.addParameter(ivBytes, "iv").includeClass("javax.crypto.Cipher").addParameter(mode, "encmode").addParameter(plaintextFile, "plainText").addParameter(key, "key")
54-
.addReturnObject(cipherText).generate();
54+
.addParameter(cipherText, "cipherText").generate();
5555

5656
byte[] ret = new byte[ivBytes.length + cipherText.length];
5757
System.arraycopy(ivBytes, 0, ret, 0, ivBytes.length);
@@ -70,7 +70,7 @@ public java.io.File decryptData(java.io.File ciphertext, javax.crypto.SecretKey
7070
int mode = Cipher.DECRYPT_MODE;
7171
byte[] res = null;
7272
CrySLCodeGenerator.getInstance().includeClass("javax.crypto.spec.IvParameterSpec").addParameter(ivBytes, "iv").includeClass("javax.crypto.Cipher")
73-
.addParameter(mode, "encmode").addParameter(data, "plainText").addParameter(key, "key").addReturnObject(res).generate();
73+
.addParameter(mode, "encmode").addParameter(data, "plainText").addParameter(key, "key").addParameter(res, "cipherText").generate();
7474

7575
Files.write(Paths.get(ciphertext.getAbsolutePath()), res);
7676
return ciphertext;

plugins/de.cognicrypt.codegenerator/src/main/java/de/cognicrypt/codegenerator/crysl/templates/encryptionhybridstrings/SecureEncryptor.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ public class SecureEncryptor {
2525

2626
public javax.crypto.SecretKey generateSessionKey() throws NoSuchAlgorithmException {
2727
javax.crypto.SecretKey sessionKey = null;
28-
CrySLCodeGenerator.getInstance().includeClass("javax.crypto.KeyGenerator").addReturnObject(sessionKey).generate();
28+
CrySLCodeGenerator.getInstance().includeClass("javax.crypto.KeyGenerator").addParameter(sessionKey, "key").generate();
2929
return sessionKey;
3030
}
3131

3232
public java.security.KeyPair generateKeyPair() throws NoSuchAlgorithmException {
3333
java.security.KeyPair keyPair = null;
34-
CrySLCodeGenerator.getInstance().includeClass("java.security.KeyPairGenerator").addReturnObject(keyPair);
34+
CrySLCodeGenerator.getInstance().includeClass("java.security.KeyPairGenerator").addParameter(keyPair, "kp");
3535
return keyPair;
3636
}
3737

@@ -40,7 +40,7 @@ public byte[] encryptSessionKey(javax.crypto.SecretKey sessionKey, java.security
4040
int mode = Cipher.WRAP_MODE;
4141
java.security.PublicKey publicKey = keyPair.getPublic();
4242
CrySLCodeGenerator.getInstance().includeClass("javax.crypto.Cipher").addParameter(mode, "encmode").addParameter(publicKey, "key").addParameter(sessionKey, "wrappedKey")
43-
.addReturnObject(wrappedKeyBytes).generate();
43+
.addParameter(wrappedKeyBytes, "wrappedKeyBytes").generate();
4444
return wrappedKeyBytes;
4545
}
4646

@@ -52,7 +52,7 @@ public java.lang.String encryptData(java.lang.String plaintext, javax.crypto.Sec
5252

5353
CrySLCodeGenerator.getInstance().includeClass("java.security.SecureRandom").addParameter(ivBytes, "next").includeClass("javax.crypto.spec.IvParameterSpec")
5454
.addParameter(ivBytes, "iv").includeClass("javax.crypto.Cipher").addParameter(mode, "encmode").addParameter(plaintextString, "plainText").addParameter(key, "key")
55-
.addReturnObject(cipherText).generate();
55+
.addParameter(cipherText, "cipherText").generate();
5656

5757
byte[] ret = new byte[ivBytes.length + cipherText.length];
5858
System.arraycopy(ivBytes, 0, ret, 0, ivBytes.length);
@@ -71,7 +71,7 @@ public java.lang.String decryptData(java.lang.String ciphertext, javax.crypto.Se
7171
int mode = Cipher.DECRYPT_MODE;
7272
byte[] res = null;
7373
CrySLCodeGenerator.getInstance().includeClass("javax.crypto.spec.IvParameterSpec").addParameter(ivBytes, "iv").includeClass("javax.crypto.Cipher")
74-
.addParameter(mode, "encmode").addParameter(data, "plainText").addParameter(key, "key").addReturnObject(res).generate();
74+
.addParameter(mode, "encmode").addParameter(data, "plainText").addParameter(key, "key").addParameter(res, "cipherText").generate();
7575
return new String(res, "UTF-8");
7676
}
7777

plugins/de.cognicrypt.codegenerator/src/main/java/de/cognicrypt/codegenerator/crysl/templates/encryptionstrings/SecureEncryptor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public javax.crypto.SecretKey getKey(char[] pwd) {
2626
int keysize = 128;
2727
CrySLCodeGenerator.getInstance().includeClass("java.security.SecureRandom").addParameter(salt, "next").includeClass("java.security.PBEKeySpec")
2828
.addParameter(pwd, "password").addParameter(keysize, "keylength").includeClass("javax.crypto.SecretKeyFactory").includeClass("java.security.SecretKey")
29-
.includeClass("javax.crypto.SecretKeySpec").addReturnObject(encryptionKey).generate();
29+
.includeClass("javax.crypto.SecretKeySpec").addParameter(encryptionKey, "this").generate();
3030

3131
return encryptionKey;
3232
}
@@ -39,7 +39,7 @@ public java.lang.String encrypt(java.lang.String plaintext, javax.crypto.SecretK
3939

4040
CrySLCodeGenerator.getInstance().includeClass("java.security.SecureRandom").addParameter(ivBytes, "next").includeClass("javax.crypto.spec.IvParameterSpec")
4141
.addParameter(ivBytes, "iv").includeClass("javax.crypto.Cipher").addParameter(mode, "encmode").addParameter(plaintextString, "plainText").addParameter(key, "key")
42-
.addReturnObject(res).generate();
42+
.addParameter(res, "cipherText").generate();
4343

4444
byte[] ret = new byte[ivBytes.length + res.length];
4545
System.arraycopy(ivBytes, 0, ret, 0, ivBytes.length);
@@ -58,7 +58,7 @@ public java.lang.String decrypt(java.lang.String ciphertext, javax.crypto.Secret
5858
int mode = Cipher.DECRYPT_MODE;
5959
byte[] res = null;
6060
CrySLCodeGenerator.getInstance().includeClass("javax.crypto.spec.IvParameterSpec").addParameter(ivBytes, "iv").includeClass("javax.crypto.Cipher")
61-
.addParameter(mode, "encmode").addParameter(data, "plainText").addParameter(key, "key").addReturnObject(res).generate();
61+
.addParameter(mode, "encmode").addParameter(data, "plainText").addParameter(key, "key").addParameter(res, "cipherText").generate();
6262

6363
return new String(res, StandardCharsets.UTF_8);
6464
}

0 commit comments

Comments
 (0)