-
Notifications
You must be signed in to change notification settings - Fork 1
Home
neurite edited this page Jul 16, 2017
·
20 revisions
- Random number generation
- Hashing
- Symmetric encryption
- Asymmetric encryption
JCA (Java Cryptography Architecture)
JSSE (Java Secure Socket Extensions)
openssl
keytool
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS: Or SSL, protocol
- ECDHE: EC, elliptical curve, algorithm; DHE, E is ephemeral, for forward secrecy
- ECDSA_WITH_AES_128: Symmetrical encryption after key exchange
- GCM: Cipher mode
- SHA256: Hashing
- getAlgorithm(): String -- the name of the algorithm that uses this key
- getEncoded(): byte[] -- for transmitting the key outside the JVM
"Group (and provide type safety for) all secret key interfaces."
Password-based encryption key. Extends SecretKey and Destroyable.
- getIterationCount(): int
- getPassword(): char[] -- wipe out the char array after use
- getSalt(): byte[]
- PrivateKey, PublicKey
Under which, there are DHPrivateKey, DHPublicKey, ECPrivateKey, ECPublicKey, RSAPrivateKey, RSAPublicKey, etc.
Extends SecretKey and Destroyable.
SecretKeySpec
Java certificate authority (or root certificate): jre/lib/security/cacerts
- ID generation
- S3 HMAC request signing; you can similarly sign the response using HMAC.
- Encryption at rest (one key per item)
- Data upload with a special example of code publishing
- SSL, TLS
- JWT, JWS, JWE
- OAuth
- Data upload using JWE