PSEK-Fitnesse-Fixtures  2.3.x (JDK11)
nl.psek.fitnesse.fixtures.util.EncryptionUtil Class Reference

A fixture that can be used to encrypt data using AES encryption. More...

Public Member Functions

String decode (String ivAndEncodedTextInBase64)
 Voer de daadwerkelijke AES-128 bit decodering uit. More...
 
String encode (String plainText)
 Voer de daadwerkelijke AES-128 bit encoding uit. More...
 
void setPassword (String encryptionPassword)
 Ingang om het wachtwoord dat gebruikt wordt om de k ey op te bouwen in te stellen via de FitNesse gui. More...
 

Private Member Functions

byte[] decodeFromBase64 (String input)
 
String encodeToBase64 (byte[] input)
 
IvParameterSpec generateIvParamSpec ()
 Genereren van de IvParameterSpec die gebruikt wordt in de AES encryptie, hierbij genereren we ook een random initialization vector (ook wel starting variable of nonce genoemd) die we later ook nodig hebben bij de decryptie. More...
 
Cipher getCipher (int cipherMode, SecretKeySpec secretKeySpec, IvParameterSpec ivParameterSpec)
 Bouw het AES Cipher voor de gespecificeerde modus en geef het terug Cipher.ENCRYPT_MODE = int 1 Cipher.DECRYPT_MODE = int 2. More...
 
SecretKeySpec loadSecretKey (String encryptionPassword)
 Het encryptionPassword wordt met SHA-1 gehashed, van deze hash worden de eerste 128 bits (16 bytes) gebruikt als secret key. More...
 
void setInitVector (byte[] initVectorByteArray)
 Opslaan van de initialization vector (https://en.wikipedia.org/wiki/Initialization_vector) in eeb Base64 string om mee te geven. More...
 

Private Attributes

String base64InitVector
 
String encryptionPassword
 

Static Private Attributes

static final String CIPHER_ALGORITHM_SETTINGS = "AES/CBC/PKCS5Padding"
 
static final String DIGEST_METHOD = "SHA-1"
 
static final String ENCRYPTION_ALGORITHM = "AES"
 

Detailed Description

A fixture that can be used to encrypt data using AES encryption.

Definition at line 19 of file EncryptionUtil.java.

Member Function Documentation

◆ decode()

String nl.psek.fitnesse.fixtures.util.EncryptionUtil.decode ( String  ivAndEncodedTextInBase64)

Voer de daadwerkelijke AES-128 bit decodering uit.

Parameters
ivAndEncodedTextInBase64de versleutelde tekst die bestaat uit base64 initialization vector + : + base64 cypherText
Returns
plainText string

Definition at line 131 of file EncryptionUtil.java.

◆ decodeFromBase64()

byte[] nl.psek.fitnesse.fixtures.util.EncryptionUtil.decodeFromBase64 ( String  input)
private

Definition at line 159 of file EncryptionUtil.java.

◆ encode()

String nl.psek.fitnesse.fixtures.util.EncryptionUtil.encode ( String  plainText)

Voer de daadwerkelijke AES-128 bit encoding uit.

Parameters
plainTextde te versleutelen tekst
Returns
versleutelde tekst die bestaat uit base64 initialization vector + : + base64 cypherText

Definition at line 103 of file EncryptionUtil.java.

◆ encodeToBase64()

String nl.psek.fitnesse.fixtures.util.EncryptionUtil.encodeToBase64 ( byte[]  input)
private

Definition at line 155 of file EncryptionUtil.java.

◆ generateIvParamSpec()

IvParameterSpec nl.psek.fitnesse.fixtures.util.EncryptionUtil.generateIvParamSpec ( )
private

Genereren van de IvParameterSpec die gebruikt wordt in de AES encryptie, hierbij genereren we ook een random initialization vector (ook wel starting variable of nonce genoemd) die we later ook nodig hebben bij de decryptie.

Returns
de AES IvParameterSpec

Definition at line 52 of file EncryptionUtil.java.

◆ getCipher()

Cipher nl.psek.fitnesse.fixtures.util.EncryptionUtil.getCipher ( int  cipherMode,
SecretKeySpec  secretKeySpec,
IvParameterSpec  ivParameterSpec 
)
private

Bouw het AES Cipher voor de gespecificeerde modus en geef het terug Cipher.ENCRYPT_MODE = int 1 Cipher.DECRYPT_MODE = int 2.

Parameters
secretKeySpecde AES SecretKeySpec
ivParameterSpecde AES IvParameterSpec
Returns
het AES cypher

Definition at line 87 of file EncryptionUtil.java.

◆ loadSecretKey()

SecretKeySpec nl.psek.fitnesse.fixtures.util.EncryptionUtil.loadSecretKey ( String  encryptionPassword)
private

Het encryptionPassword wordt met SHA-1 gehashed, van deze hash worden de eerste 128 bits (16 bytes) gebruikt als secret key.

Parameters
encryptionPasswordhet wachtwoord dat gebruikt wordt om de AES key op te bouwen
Returns
de AES SecretKeySpec

Definition at line 66 of file EncryptionUtil.java.

◆ setInitVector()

void nl.psek.fitnesse.fixtures.util.EncryptionUtil.setInitVector ( byte[]  initVectorByteArray)
private

Opslaan van de initialization vector (https://en.wikipedia.org/wiki/Initialization_vector) in eeb Base64 string om mee te geven.

Parameters
initVectorByteArrayinitialization vector

Definition at line 42 of file EncryptionUtil.java.

◆ setPassword()

void nl.psek.fitnesse.fixtures.util.EncryptionUtil.setPassword ( String  encryptionPassword)

Ingang om het wachtwoord dat gebruikt wordt om de k ey op te bouwen in te stellen via de FitNesse gui.

Parameters
encryptionPasswordhet wachtwoord dat gebruikt wordt om de AES key op te bouwen

Definition at line 33 of file EncryptionUtil.java.

Member Data Documentation

◆ base64InitVector

String nl.psek.fitnesse.fixtures.util.EncryptionUtil.base64InitVector
private

Definition at line 25 of file EncryptionUtil.java.

◆ CIPHER_ALGORITHM_SETTINGS

final String nl.psek.fitnesse.fixtures.util.EncryptionUtil.CIPHER_ALGORITHM_SETTINGS = "AES/CBC/PKCS5Padding"
staticprivate

Definition at line 23 of file EncryptionUtil.java.

◆ DIGEST_METHOD

final String nl.psek.fitnesse.fixtures.util.EncryptionUtil.DIGEST_METHOD = "SHA-1"
staticprivate

Definition at line 21 of file EncryptionUtil.java.

◆ ENCRYPTION_ALGORITHM

final String nl.psek.fitnesse.fixtures.util.EncryptionUtil.ENCRYPTION_ALGORITHM = "AES"
staticprivate

Definition at line 22 of file EncryptionUtil.java.

◆ encryptionPassword

String nl.psek.fitnesse.fixtures.util.EncryptionUtil.encryptionPassword
private

Definition at line 24 of file EncryptionUtil.java.


The documentation for this class was generated from the following file: