Tags give the ability to mark specific points in history as being important
-
-
-
v1.3.6
f69305ef · ·Release v1.3.6: Independent XOR (v9) with parallel KDF and progress improvements
-
v1.4.0.beta.9
77c5a98f · ·Release v1.4.0.beta.9 - Test infrastructure improvements and cross-version compatibility - Fixed 6 salt derivation test failures - Completed Threefish-512/1024 cipher support - Fixed BLAKE3 buffer sizing for backward compatibility - Fixed metadata v7 schema compatibility with v1.3.4 - Resolved Scrypt bytearray conversion issues - Enhanced debug logging for version-aware salt derivation - Test suite: 1535 tests passing, 0 failures - Format Version 9 security model validated across all KDF algorithms
-
v1.3.5
570d1b10 · ·Release v1.3.5 - BLAKE3 Integration & Forward Compatibility This release delivers critical bugfixes and forward compatibility with v1.4.x: - Fixed BLAKE3 hash algorithm support with proper 32-byte key handling - Implemented BLAKE3-aware buffer sizing (64-byte minimum) for deterministic KDF - Enhanced BLAKE3 detection in both flat (v3) and nested (v4+) hash formats - Zero-initialization for consistent keyed hashing - No regression: BLAKE3 was not used in encryption before this bugfix - Made 'mode' field optional in metadata v7 schema for v1.3.4 compatibility - Fixed Scrypt bytearray to bytes conversion in salt derivation - Resolved SecureBytes slice handling in XChaCha20 nonce operations - Comprehensive build scripts for liboqs and liboqs-python dependencies - scripts/build_local_deps.sh: Automated dependency building with version verification - scripts/cleanup_liboqs.sh: Clean removal of locally built dependencies - Environment variable support for custom installation paths - Backported Flatpak build and publish jobs from v1.4.x - Automated Flatpak packaging on release branches - Separate clean build jobs for testing without cache - Integration with Flatpak repository for distribution - Enhanced BLAKE3 operation logging for troubleshooting - Cross-version compatibility: Files encrypted with v1.3.5 are fully compatible with v1.4.x - Maintains Format Version 7 secure chained salt derivation (from v1.3.4) v1.3.5 includes the v1.3.4 critical security fix (CVSSv3 8.1 HIGH): - Fixed predictable salt derivation vulnerability (CWE-330) in multi-round KDF - Format Version 7 implements secure chained salt derivation - Backward: Decrypts files from v1.3.0-1.3.4 - Forward: Compatible with v1.4.x releases - Test suite: 960 tests passing, 0 failures Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
-
-
-
-
v1.3.4
Release: Release v1.3.4 - Critical Security Fix1bb285c4 · ·Release v1.3.4 - Critical Security Fix CVSSv3 8.1 (High): Fixed predictable salt derivation in multi-round KDF CWE-330: Use of Insufficiently Random Values This release implements Format Version 7 with secure chained salt derivation, resolving a vulnerability where multi-round KDF operations used predictable salts that could be precomputed from plaintext metadata. Security Fix: - Implemented secure chained salt derivation for all multi-round operations - Each round now uses previous round output as salt (unpredictable chain) - Affects: BLAKE2b, BLAKE3, SHAKE-256, Argon2, Scrypt, Balloon, PBKDF2, HKDF Backward Compatibility: - Full support for decrypting Format Versions 3-6 - Files encrypted with v1.3.4 require v1.3.4+ to decrypt Additional Fixes: - Fixed pytest-xdist enum serialization issues - Updated keystore_wrapper.py for Format Version 7 support Recommendation: Upgrade immediately and re-encrypt files with multi-round KDF. All tests passing (960+)
-
v1.4.0.beta.7
2a421b44 · ·Release v1.4.0.beta.7 Remote pepper plugin integration and integrity plugin improvements. New Features: - Remote pepper plugin with CLI and Flutter GUI support - Auto-generate and named pepper modes - Client-side AES-256-GCM pepper encryption with mTLS transport - Combined HSM + remote pepper support Bug Fixes: - Fix integrity plugin 409 Conflict on re-encryption - Fix pepper plugin auto-generate logic - Fix YubiKey notification and integrity verification hang - HSM plugin loading improvements Testing: - Added comprehensive unit tests for integrity plugin - Verified pepper plugin encryption/decryption flow - Tested combined pepper + integrity + HSM workflows
-
v1.4.0.beta.6
5d230bb0 · ·Release version 1.4.0 beta 6 - Homepage URL now points to releases/1.4.0 branch - All project URLs consistently reference releases/1.4.0 branch - Ready for PyPI deployment with correct metadata
-
v1.4.0.beta.5
01f0b03e · ·Release version 1.4.0 beta 5 - Updated project URLs to point to GitHub repository - Documentation and Source Code links reference releases/1.4.0 branch - PyPI package metadata improvements
-
v1.4.0.beta.4
4398b02b · ·Release version 1.4.0 beta 4 - Enhanced liboqs detection with fallback paths - Interactive build script with shell profile configuration - Comprehensive INSTALLATION.md with 4 installation methods - Integrated Flatpak documentation - Fixed command syntax and Markdown formatting
-
v1.4.0.beta.2
Release: OpenSSL Encrypt v1.4.0-beta.2 Release Notese9723e1a · ·feat: Complete v1.4.0 GUI implementation with plugin system improvements This merge brings all feature/v1.4.0-development changes into the release branch, completing the desktop GUI implementation with enhanced security and usability. - Refined security policy to allow legitimate file and network operations - Allowed open() for file I/O (controlled by sandbox allowed_paths) - Allowed os and socket modules for legitimate operations - Maintained blocks on dangerous functions (os.system, os.popen, subprocess) - Removed built-in plugin whitelist for consistent validation - All plugins now validated through AST analysis, even trusted built-in ones - Added comprehensive unit tests for policy validation **Files:** - openssl_encrypt/modules/plugin_system/plugin_ast_analyzer.py - openssl_encrypt/unittests/test_plugin_ast_analyzer.py - Added YubiKey Challenge-Response HSM support to all encryption tabs - Implemented FIDO2 HSM credential management screen - Added slot selection and credential management UI - Integrated HSM operations with CLI service - Implemented Keyserver network plugin configuration - Added Remote Pepper plugin with mTLS and 2FA support - Integrated Integrity plugin with file verification across all tabs - Added network plugin management in Settings screen - Added Threefish-512 and Threefish-1024 algorithms - Added support for file format versions 7 and 8 - Implemented cascade encryption mode with multiple algorithm layers - Added asymmetric encryption UI with identity management - Created dedicated Identity Management screen - Added Ed25519 identity generation and import/export - Integrated identity selection in encryption workflows - Added CLI service methods for identity operations - **Major Refactor:** Extracted EncryptTab and DecryptTab into separate files - Created reusable CryptoWidgets module for shared components - Implemented encryption mode selector (Symmetric/Asymmetric/Cascade) - Added "Key Stretching" top-level section for Hash and KDF configuration - Moved advanced crypto options out of "Advanced Options" for better visibility - Streamlined Advanced Options to HSM, Integrity, and Force Overwrite only - **Removed:** PBKDF2 (no longer supported) - **Added 5 KDF panels with configuration:** * Argon2 - purple "MAX SECURITY" badge * Scrypt - orange "BALANCED" badge * HKDF - teal "EFFICIENT" badge * Balloon - pink "RESEARCH" badge * RandomX - purple "CPU-HARD" badge - Created _buildKDFSlider() helper for consistent parameter controls - Implemented _buildHashChainSection() and _buildKdfChainSection() helpers - Added preset buttons for quick KDF configuration - **Default encryption algorithm:** Changed from fernet to aes-gcm - **Default hash:** SHA3-512 enabled with 100,000 rounds - **Default KDF:** Argon2 enabled with secure parameters - Users now get strong security settings out of the box - **Green "RECOMMENDED" badges:** * aes-gcm (for general use) * threefish-512 * ml-kem-768-hybrid (PQC) - **Gray "LEGACY" badges:** * All Kyber algorithms (kyber512/768/1024-hybrid) * All legacy SHA hashes (SHA-1, SHA-224, SHA-256, SHA-384, SHA-512) - **Orange "WARNING" badge:** * HQC algorithms with GitHub security advisory link * Warning: "Decryption issues in <1.3.0, theoretical flaws exist" * Link: https://github.com/open-quantum-safe/liboqs/security/advisories/GHSA-3rxw-4v8q-9gq5 - Updated aes-gcm: "Recommended for general use" - Updated threefish-512: "Recommended" - Updated fernet: Removed recommendation language - Added explicit warnings to HQC algorithms with security advisory - Separated encryption/decryption logic into dedicated tab files - Extracted crypto widgets into reusable component library - Added _isLegacySha() helper for reliable legacy SHA detection - Improved maintainability with better separation of concerns - Reduced main.dart from ~7000 lines to manageable size **New Files:** - desktop_gui/lib/tabs/encrypt_tab.dart (1111 lines) - desktop_gui/lib/tabs/decrypt_tab.dart (365 lines) - desktop_gui/lib/widgets/crypto_widgets.dart (649 lines) - desktop_gui/lib/fido2_management_screen.dart - desktop_gui/lib/identity_management_screen.dart **Modified Files:** - desktop_gui/lib/main.dart (-6979 lines through extraction) - desktop_gui/lib/cli_service.dart - desktop_gui/lib/file_manager.dart - desktop_gui/lib/settings_screen.dart - desktop_gui/lib/settings_service.dart - openssl_encrypt/modules/plugin_system/plugin_ast_analyzer.py - openssl_encrypt/unittests/test_plugin_ast_analyzer.py **Statistics:** - 22 commits merged - 4 files changed in final GUI refactor - +2,149 lines added - -6,979 lines removed (code reorganization) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
-
v1.4.0-beta.1
Release: FEATURE COMPLETE BETA RELEASE v1.4.0-beta.19d8ef06f · ·**FEATURE COMPLETE BETA RELEASE** This beta release is feature complete for v1.4.0. Only bugfixes will be added before the stable release. --- - **FastAPI-based unified server** consolidating all server modules - JWT-based authentication with refresh token support - Modular architecture supporting Keyserver, Telemetry, Pepper, and Integrity modules - PostgreSQL + asyncpg for production-grade database support - Rate limiting on all endpoints (using slowapi) - Comprehensive security logging system - Public key distribution system with PQC algorithm support - Email-based key lookup and registration - Self-signature verification for key authenticity - Certificate pinning support for MITM protection - Plugin architecture for client integration - 'register' command for CLI-based key registration - Anonymous usage statistics collection - Configurable retention policies (default: 365 days) - Rate-limited event submission - JWT-authenticated endpoints - Client plugin for seamless integration - Server-side password pepper storage with TOTP 2FA - mTLS authentication support - Proxy mode with client certificate validation - Dead-man switch functionality - TOTP rate limiting (5 attempts, 15-minute lockout) - Client plugin for transparent integration - Cryptographic metadata hash verification - mTLS authentication support - Tamper detection for encrypted files - Client plugin for automatic verification - Panic mode for secure deletion - Hardware-backed pepper storage using FIDO2 devices - WebAuthn PRF (Pseudo-Random Function) extension support - User verification with PIN/biometrics - Secure credential management --- - **Fixed:** Symlink-based path traversal attacks - **Solution:** Using `os.path.realpath()` to resolve symlinks - **Impact:** Prevents plugins from accessing files outside whitelist - **Files:** `plugin_sandbox.py` - **Fixed:** Regex-based code validation easily bypassed - **Solution:** Implemented AST-based code analysis - **Impact:** Detects dangerous patterns via syntax tree analysis - **Files:** `plugin_ast_analyzer.py` (new), `plugin_manager.py` - **Fixed:** Plugins could import dangerous modules at runtime - **Solution:** Installed import guards in `sys.meta_path` - **Impact:** Blocks subprocess, socket, ctypes, etc. at import time - **Files:** `plugin_sandbox.py` - **Fixed:** Only `subprocess.Popen` was blocked - **Solution:** Block `os.system`, `os.popen`, `os.spawn*` family - **Impact:** Prevents all subprocess execution methods - **Files:** `plugin_sandbox.py` - **Fixed:** Capabilities could be modified after registration - **Solution:** Made capabilities immutable using `frozenset` - **Impact:** Prevents privilege escalation attacks - **Files:** `plugin_manager.py` - **Fixed:** No rate limiting on any endpoints - **Solution:** Implemented slowapi rate limiter across all routes - **Limits:** - Registration: 10/hour per IP - Search: 100/minute per IP - CRUD: 60/minute per client - Telemetry: 1000/hour per client - TOTP: 5/minute (then 15min lockout) - **Files:** `server.py`, all `routes.py` files - **Fixed:** 365-day token expiry too long - **Solution:** Reduced to 1 hour with refresh tokens (7 days) - **Impact:** Limits exposure window for compromised tokens - **Files:** `config.py`, `core/auth/token.py` - **Fixed:** Unlimited TOTP verification attempts - **Solution:** 5 attempts per 5 minutes, then 15-minute lockout - **Impact:** Prevents TOTP brute force attacks - **Files:** `modules/pepper/totp.py` - **Fixed:** Default trusted entire private networks - **Solution:** Require explicit IP configuration, reject broad ranges - **Impact:** Prevents IP spoofing attacks - **Files:** `config.py`, `core/auth/proxy.py` - **Fixed:** Security events mixed with app logs, no alerting - **Solution:** Centralized security logger with structured output - **Events:** Auth failures, rate limits, TOTP failures, panic events - **Files:** `core/security_logger.py` (new) - **Fixed:** No token refresh mechanism - **Solution:** Sliding expiration refresh tokens - **Impact:** Better UX with maintained security - **Files:** `core/auth/token.py` - **Fixed:** No certificate pinning for keyserver connections - **Solution:** SHA-256 fingerprint validation - **Impact:** Prevents MITM attacks on key distribution - **Files:** `plugins/keyserver/keyserver_plugin.py` - **Fixed:** Race condition in file/directory creation - **Solution:** Atomic permission setting using umask - **Permissions:** 0o700 for directories, 0o600 for files - **Impact:** Prevents race-condition attacks - **Files:** `plugin_config.py` - **Fixed:** Default wildcard (*) CORS origin - **Solution:** Disabled by default, explicit configuration required - **Impact:** Prevents unauthorized cross-origin requests - **Files:** `config.py`, `server.py` - **Fixed:** No query timeout (DoS vulnerability) - **Solution:** 30-second timeout at driver and server level - **Impact:** Prevents resource exhaustion from slow queries - **Files:** `core/database.py`, `config.py` --- - **Security tests:** 66+ new tests for Phase 3 fixes - **Path traversal tests:** Symlink attack validation - **Import hook tests:** Runtime import blocking - **AST analyzer tests:** Code pattern detection - **TOTP rate limiting tests:** Lockout mechanism - **JWT refresh tests:** Token rotation validation - **Integration tests:** Complete server module testing - **1,488 total tests** passing - **11 new test files** added - Comprehensive security violation demonstrations --- - AST-based code validation (replaces regex) - Import-level module blocking - Capability-based permission system (immutable) - Atomic file permission setting (TOCTOU fix) - Enhanced path validation with symlink resolution - Unified plugin config directories (`~/.openssl_encrypt/plugins/<plugin_id>/`) - Secure permission enforcement (0o700/0o600) - Per-plugin configuration isolation - Schema validation support - Proper security model for plugin file access - Support for subdirectories and supporting files - Whitelist-based access control - Inference of code directory from actual file location --- - Comprehensive plugin security documentation - Server module integration guides - mTLS authentication setup guides - Client plugin usage documentation - Security violation demonstrations - Release notes and changelogs - Documentation moved to `openssl_encrypt/docs/` - Unified documentation format - Extensive code examples --- - Fixed cryptography import for certificate encoding - Increased keyserver fingerprint column size to 100 - Implemented abstract methods for KeyserverPlugin - Added explicit Hippocratic-3.0 license references - Fixed relative imports in plugins - Fixed permission recovery for existing directories - Support for custom config directories in FIDO2 plugin - Fixed import resolution for package-based plugins - Enhanced plugin whitelist handling - Fixed datetime mocking in TOTP tests - Fixed import hooks test API usage - Removed hardcoded defaults from test scripts --- - `slowapi` - Rate limiting middleware - `asyncpg` - Async PostgreSQL driver - `fastapi` - Modern web framework - `sqlalchemy[asyncio]` - Async ORM - `cryptography` - Certificate handling - `pyjwt` - JWT token support - `pyotp` - TOTP implementation --- 1. **JWT Tokens:** Existing tokens will expire after 1 hour (was 365 days) 2. **CORS:** Default changed from `*` to disabled - must configure explicitly 3. **Plugin Configs:** Directory structure unified under `~/.openssl_encrypt/plugins/` 4. **Server:** Unified server replaces separate module servers 1. Set `CORS_ORIGINS` if using web clients 2. Configure `TRUSTED_PROXY_IPS` for reverse proxy setups 3. Update JWT refresh token handling in clients 4. Configure database connection pool settings 1. Generate new JWT secrets (32+ characters) 2. Configure certificate pinning for keyserver 3. Set up security log monitoring 4. Review and configure rate limits 5. Enable TOTP for pepper module --- - **191 commits** since v1.3.3 - **32 files changed** in final security merge - **+5,479 lines added, -191 lines removed** - **15 security vulnerabilities fixed** - **66+ new security tests** - **5 major modules added** - **1,488 total tests passing** --- This release represents a comprehensive security audit and remediation effort, with extensive testing and validation. **Security Fixes:** All 15 critical and high-priority vulnerabilities identified in the security audit have been addressed with comprehensive test coverage. **Feature Development:** The unified server architecture provides a robust foundation for secure multi-module operation with production-grade authentication and authorization. --- - **Beta 1:** 2026-01-03 (Feature Complete) - **RC 1:** TBD (After beta testing) - **Stable:** TBD (After RC validation) **Note:** This beta is feature complete. Only bugfixes will be added before the stable release. --- 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
-
v1.4.0-alpha.6
d4483aeb · ·Release v1.4.0-alpha.6 This alpha release adds keyserver CLI functionality, comprehensive server integration tests, and critical database fixes. - Added `openssl-encrypt keyserver register` command for obtaining API tokens - Supports server URL override via --server flag - Automatic token storage in plugin configuration - User-friendly output with client ID and expiration details - **CRITICAL**: Increased keyserver fingerprint column size from 64 to 100 characters - SHA-256 fingerprints with colons are 95 characters (e.g., 3a:4b:5c:...) - Previous 64-char limit caused upload failures - Affects both ks_keys.fingerprint and ks_access_log.key_fingerprint columns - Migration scripts provided (SQL and Python) for existing deployments - Implemented missing abstract methods in KeyserverPlugin (get_description, execute) - Fixed incorrect import in keyserver CLI handler - Resolved plugin instantiation errors - Removed hardcoded server URL fallbacks from test scripts - All test scripts now require proper configuration (CLI > env > config file) - Consistent fail-secure behavior across all server tests Added comprehensive test scripts for all server components: 1. **test_keyserver_complete.py** (301 lines) - Identity creation and bundle generation - Public key upload with signature verification - Search by email, fingerprint, and name - Cache functionality verification - Tests: 10/10 operations 2. **test_telemetry_complete.py** (386 lines) - JWT-based client registration - Batch event submission (encrypt/decrypt operations) - Public statistics aggregation - Success rate verification - Tests: 4/4 operations 3. **test_pepper_complete.py** (363 lines) - mTLS authentication with client certificates - Client profile management - Pepper CRUD operations (create, list, get, update, delete) - Tests: 6/6 operations 4. **test_integrity_complete.py** (406 lines) - mTLS authentication with client certificates - Metadata hash storage and verification - Hash CRUD operations - Verification count tracking - Tests: 7/7 operations - Added migrations directory with README documentation - SQL migration script: 001_increase_fingerprint_size.sql - Python migration tool: 001_increase_fingerprint_size.py - Idempotent migration design with verification steps All test scripts use plugin configuration files: - Keyserver: ~/.openssl_encrypt/plugins/keyserver/config.json - Telemetry: ~/.openssl_encrypt/plugins/telemetry/config.json - Pepper: ~/.openssl_encrypt/plugins/pepper/pepper.json - Integrity: ~/.openssl_encrypt/plugins/integrity/integrity.json - Nginx configured with `ssl_verify_client optional` - Location-specific mTLS enforcement for pepper/integrity endpoints - Public access for keyserver/telemetry endpoints - Verified working with test suite - 11 files changed, 1743 insertions(+), 3 deletions(-) - 7 new files added (4 test scripts, 3 migration files) If upgrading from previous alpha versions, run database migration: ```bash python3 openssl_encrypt_server/migrations/001_increase_fingerprint_size.py ``` ```bash python3 scripts/test_keyserver_complete.py python3 scripts/test_telemetry_complete.py --server https://your-server.com python3 scripts/test_pepper_complete.py python3 scripts/test_integrity_complete.py ``` None --- Full changelog: v1.4.0-alpha.5...v1.4.0-alpha.6
-
v1.4.0-alpha.5
5a8c7364 · ·Release v1.4.0-alpha.5 - Integrity client plugin with mTLS authentication - Raw certificate support for proxy mTLS (computes SHA-256 from Nginx cert) - Test scripts load config from ~/.openssl_encrypt/plugins/ - Enhanced Nginx configuration examples for mTLS - Both pepper and integrity plugins fully operational 🤖 Generated with Claude Code
-
-
v1.4.0-alpha.3
cfcadc56 · ·Release v1.4.0-alpha.3: Unified Server with JWT Authentication This alpha release introduces the unified server architecture with modular design and JWT-based authentication. Key Features: - Unified FastAPI server combining keyserver and telemetry - JWT authentication with module-specific token isolation - Async PostgreSQL with SQLAlchemy - Docker Compose deployment with PQC support - Updated client libraries for JWT authentication - Comprehensive test suite Components: - openssl_encrypt_server/: Production-ready unified server - Keyserver module with PQC signature verification - Telemetry module with privacy-first design - Core auth infrastructure with TokenAuth base class Security Enhancements: - Token isolation via JWT issuer claims - Server-generated client IDs (no tracking) - TLS certificate validation enforced - Secure token storage with 0600 permissions This release lays the foundation for v1.4.0 with future modules (Pepper, Integrity) planned for subsequent alpha releases. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
-
v1.4.0-alpha.2
095e7165 · ·Release v1.4.0-alpha.2 - Updated README with comprehensive v1.4.0 feature summary - Cascade Encryption documentation - Threefish Post-Quantum Ciphers - Post-Quantum Keyserver infrastructure - Privacy-Preserving Telemetry - Identity-Based Asymmetric Encryption - Algorithm Registry System - HSM Integration improvements - Security enhancements and SECURITY.md policy - Performance and testing improvements