cert-encoder.git

ref: master

./README.md


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Cert-Encoder

Cert-Encoder is a Java library that implements two strategies for encrypting/decrypting data:

-   A symmetric schema using AES-CBC-256
-   A schema based on a public/private keypair (PKCS#7 / CMS)

The asymmetric schema is meant to be intoperable with [X509Crypt](https://kevwe.com/project/project:x509crypt)
and can encode/decode data within your application that you encoded on the shell, ultimately making use of
of the command `openssl smime`

## Symmetric Encryption

Symmetric Encryption is the easiest option, in case you can rely on the security of the key and 
you don't have any specific need with regard to distributed systems.

## Asymmetric Encryption

In analogy with [X509Crypt](https://kevwe.com/project/project:x509crypt) which is thought to 
encrypt a file in a format that only the desired recipient will be able to read/decrypt.
While  [X509Crypt](https://kevwe.com/project/project:x509crypt) is meant to be used on the commandline,
Cert-Encoder is meant to be embedded into your Java application.

## Use Case

Remote machines can encrypt the data on a server without having to disclose a private key,
which is sensible information.

With PKI it is possible to host on the same storage content that is encrypted for distinct recipients
without disclosing the keys.

Each recipient cannot decrypt a message that is not aimed at them, recipients can only decrypt their own data.

## How To Build the library

```
cd cert-encoder
mvn clean install
```

## License

The code is freely available under GPL License
see: [COPYING](/cert-encoder.git/tree/master/COPYING)

Additional commercial support and licensing is available on request. You can issue a [support request](https://kevwe.com/message)
and mention you are interested in [cert-encoder]()