A security-focused refactoring of a legacy financial application architecture. This project modernizes the application's security posture by transitioning from insecure HTTP protocols to encrypted standards and implementing cryptographic integrity controls to protect sensitive financial data.
- Language & Build: Java, Maven
- Security Tools: Java Keytool, OWASP Dependency-Check
- Cryptographic Standards: AES-256, SHA-256, RSA 2048-bit, PKCS12
- Transit Security (HTTPS/TLS): Refactored the application to utilize HTTPS on port 8443, ensuring secure, encrypted communication between the client and server via a PKCS12 keystore.
- Data Integrity Verification: Integrated a SHA-256 cryptographic hash function to generate a 256-bit checksum, ensuring transmitted data can be verified for tampering.
- Data Encryption: Designed to utilize the Advanced Encryption Standard (AES) with a 256-bit key length and cryptographically secure Initialization Vectors (IVs) to protect client data and prevent replay attacks.
- Certificate Management: Generated and implemented a self-signed RSA 2048-bit certificate using Java Keytool to facilitate the encrypted transport layer.
- Security Hygiene Note: The
.p12keystore containing the private key has been intentionally excluded from this public repository in strict adherence to secure credential management and industry best practices.
- Defense-in-Depth: Hardened the application against common attack vectors by applying multiple, non-dependent security layers across the Cryptography and Client/Server domains.
- Vulnerability Assessment: Conducted architectural reviews and utilized the OWASP Dependency-Check tool to perform static security testing, ensuring no insecure libraries or regressions were introduced during the build process.
- Industry Standard Compliance: Avoided proprietary mechanisms in favor of peer-reviewed, industry-standard protocols (SHA-2, AES-256, TLS) to ensure interoperability, robustness, and mitigation of legal/regulatory liabilities.