CryptoAPI

Stable Version 2.2.0 (O11)
Also available for 10, 9, 6
Published on 3 Mar by 
Created on 28 July 2013
Available in OutSystems versions:
OutSystems 11

Version 2.2.0

Stable
Current
Application Package
Published on 3 Mar by Ricardo Silva
Requirements
Platform:
11.0.0.200
Database:
All
Stack:
.NET
What's new
  • Added support to specify RSA padding hash
  • Changed way to get the settings private key to non-deprecated method

Version 2.1.1

Stable
Application Package
Published on 11 November 2018 by Ricardo Silva
Requirements
Platform:
11.0.0.200
Database:
All
Stack:
All
What's new
  • Fix BCrypt work factor not being used

Version 2.1.0

Stable
Application Package
Published on 11 November 2018 by Ricardo Silva
Requirements
Platform:
11.0.0.200
Database:
All
Stack:
All
What's new

HashPassword can now generate passwords using the following secure password hashing algorithms:

  • PBKDF2
  • BCrypt - new default
  • SCrypt

The existing SHA512 algorithm was kept for compatibility reasons.

Version 2.0.2

Stable
Application Package
Published on 17 October 2018 by Ricardo Silva
Requirements
Platform:
11.0.0.200
Database:
All
Stack:
All
What's new
  • Upgraded to O11
OutSystems 10

Version 2.0.1

Stable
Application Package
Published on 23 September 2018 by Ricardo Silva
Requirements
Platform:
10.0.0.402
Database:
All
Stack:
All
What's new

RC for Crypto API 2.0.

  • Added function to read a PEM encoded RSA file
  • Added functions to Sign and Verify Signatures using RSA 
  • Added functions to save and read an RSA Private Key
  • Renamed GeneratePassword to Generate_Password so it doesn't get renamed to GeneratePassword2 when referenced

Version 2.0.0

Discontinued
Application Package
Published on 10 September 2018 by Ricardo Silva
Requirements
Platform:
10.0.0.402
Database:
All
Stack:
.NET
What's new

Major rework of the API.

API is NOT compatible with previous version and applications already using CryptoAPI may need to be adapted.

- Removed Deterministic Encryption

- Revamped to have more direct uses. You now have a few ways to create keys (including from password) and only one encrypt / decrypt actions.

- Removed GetPrivateKey(). It's now used under the hood for a more safe to use SaveKey function.

- ComputeMac now takes the algorithm to use as parameter

- Added GeneratePassword, a drop-in replacement for OutSystems' builtin GeneratePassword function, but secure.

- Added CompareMac, to securely (constant-time) compare 2 given MACs or hashes.


Features planned for the final release of version 2.0:

- RSA Sign

- RSA support PEM encoded keys

- AWS SigV4

OutSystems 9

Version 1.6.0

Stable
Application Package
Published on 29 November 2015 by Ricardo Silva
Requirements
Platform:
9.0.0.1
Database:
All
Stack:
All
What's new
New Action:
 - GenerateUUID , generates a random UUID using a Cryptographically Strong RNG. This makes it suitable for security purposes.

Bug Fixes:
- Generate AES key was generating too many bytes in Java.

Improvements:
- In Java changed the use of SecureRandom to use SHA1PRNG instead of the default (NativePRNG). This way you shouldn't have performance problems when generating a lot of random data.

Version 1.5.0

Stable
Application Package
Published on 24 November 2015 by Ricardo Silva
Requirements
Platform:
9.0.0.1
Database:
All
Stack:
All
What's new
- added a GetPrivateKey action to obtain the environment's private key.

Version 1.4.0

Stable
Application Package
Published on 02 September 2015 by Ricardo Silva
Requirements
Platform:
9.0.0.1
Database:
All
Stack:
All
What's new
- ComputeMac now also outputs in hex
- KComputeMac now also outputs in hex

NOTE: due to the above change, these actions are no longer functions, so some modules might break.

I'm ok with it since ComputeMac has a non-negligible cost (deriving the key) and thus shouldn't be "hidden" in an expression. Also, this promotes reuse of an existing Mac instead of recalculating it, which is also more performant.

Version 1.3.0

Stable
Application Package
Published on 21 March 2015 by Ricardo Silva
Requirements
Platform:
9.0.0.1
Database:
All
Stack:
All
What's new
- added GenerateAESKey action

Version 1.2.1

Stable
Application Package
Published on 11 March 2015 by Ricardo Silva
Requirements
Platform:
9.0.0.1
Database:
All
Stack:
All
What's new
- Added RSA Encrypt
- Added RSA Decrypt
- Added RSA Key generation

- Now works on both stacks.

Version 1.2.0

Discontinued
Application Package
Published on 09 March 2015 by Ricardo Silva
Requirements
Platform:
9.0.0.1
Database:
All
Stack:
All
What's new
- Added RSA Encrypt
- Added RSA Decrypt
- Added RSA Key generation

Warning - This specific version currently is incorrectly built for the java platform (compiled with jdk 8). I will correct this and upload a new version as soon as possible (likely later today).

Version 1.1.0

Stable
Application Package
Published on 30 November 2014 by Ricardo Silva
Requirements
Platform:
9.0.0.1
Database:
All
Stack:
All
What's new
- added HashPassword
- added ComparePassword
- added ComputeHash

Version 1.0.2

Stable
Application Package
Published on 29 October 2014 by Ricardo Silva
Requirements
Platform:
9.0.0.1
Database:
All
Stack:
All
What's new
- fixed some issues with some of the renamed actions not returning the correct values.

Version 1.0.1

Stable
Application Package
Published on 24 September 2014 by Ricardo Silva
Requirements
Platform:
9.0.0.1
Database:
All
Stack:
All
What's new
Added Features
- name change
- updated to OutSystems Platform 9 application.

Version 1.0.0

Stable
Application Package
Published on 24 September 2014 by Ricardo Silva
Requirements
Platform:
9.0.0.1
Database:
All
Stack:
All
What's new
upload to new forge, for dependency checking.
OutSystems 6

Version 1.0

Under Development
Module
Published on 28 July 2013 by Ricardo Silva
Requirements
Platform:
6.0.0.0
Database:
All
Stack:
All