1. 1. Services and processes
    ❱
    1. 1.1. Processes and Threads
      ❱
      1. 1.1.1. Concurrency
      2. 1.1.2. Shared State
      3. 1.1.3. Java
        ❱
        1. 1.1.3.1. Threads
        2. 1.1.3.2. Design techniques
        3. 1.1.3.3. Join, interrupt and volatile
        4. 1.1.3.4. Sincronization
        5. 1.1.3.5. Java concurrent library
      4. 1.1.4. Message passing
    2. 1.2. Sockets and Services
      ❱
      1. 1.2.1. Protocols
      2. 1.2.2. Sockets
      3. 1.2.3. Services
      4. 1.2.4. HTTP APIs
    3. 1.3. Criptography
      ❱
      1. 1.3.1. Concepts
      2. 1.3.2. Cryptography in Java
      3. 1.3.3. Hashes, signatures and certificates
      4. 1.3.4. SSL communication with sockets
      5. 1.3.5. Key management
      6. 1.3.6. Certificate formats
    4. 1.4. Security
      ❱
      1. 1.4.1. Access control
      2. 1.4.2. Secure design
      3. 1.4.3. Tecnologies

notes.jg5.dev

Criptography

Learning results (shared with Security):

  1. Protect applications and data by defining and applying security criteria in the access, storage and transmission of information.

References

  • Java Security Standard Algorithm Names, JDK 11
  • Cryptographic Storage Cheat Sheet
  • Security Developer’s Guide, JDK 11 Providers Documentation
  • Block cipher mode of operation
  • Java Criptography (Jenkov)
  • Cryptographic hash function (Wikipedia)
  • Public-key cryptography (Wikipedia)
  • Java Security 2nd Edition (examples)
  • Practical Cryptography for Developers
  • Establishing a TLS Connection
  • Generating and Verifying Signatures (The Java Tutorials)
  • A Deep Dive on End-to-End Encryption: How Do Public Key Encryption Systems Work?
  • Java Keytool - Commands and Tutorials
  • Java KeyStores - the gory details
  • Trusted Timestamping (Wikipedia)
  • CyberChef
  • Capture The Flag 101
  • SideKEK