You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactor password encryption with AES-256 and PBKDF2
Replaced the old `StringCipher` encryption with a new `SecurePasswordManager` class using AES-256 and PBKDF2 for machine-specific password encryption. Added support for automatic migration of passwords from the old format to the new secure method. Enhanced error handling, logging, and user prompts for decryption failures.
Updated `MainForm.cs` to integrate the new encryption system and handle password migration. Improved configuration persistence by saving migrated passwords in the new format.
Documented changes in `CHANGELOG.md` and added `SecurePasswordManager.cs` to the project. Ensured backward compatibility and compatibility with `.NET Framework 4.8`.
These changes improve security, reliability, and maintainability, particularly for environments requiring robust certificate and password management.
Copy file name to clipboardExpand all lines: CHANGELOG.MD
+26-1Lines changed: 26 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,35 +6,60 @@
6
6
- New `TimestampServerEditForm` for adding and editing individual timestamp servers
7
7
- New `TimestampServerManagementForm` for centralized server configuration management
8
8
- Added `TimestampServer` and `TimestampManager` classes for server handling and orchestration
9
+
- Dynamic interface adaptation: "Timestamp Servers" for PFX/Certificate Store and "Endpoints" for Trusted Signing
9
10
- Built-in timestamp server availability testing and health monitoring
10
11
- Support for server prioritization, enabling/disabling, and timeout configuration
12
+
- Added certificate type persistence - application now remembers your preferred signing method (Windows Certificate Store, PFX Certificate, or Trusted Signing)
11
13
12
14
### 🎨 User Interface Enhancements
13
15
- Enhanced MainForm UI with new menu options for certificate monitoring and timestamp server management
14
16
- Introduced color-coded alerts for certificate expiry in both Windows Certificate Store and PFX scenarios
15
17
- Improved certificate information display with better visual feedback
16
18
- Added intuitive forms for managing timestamp server configurations
19
+
- Context-aware UI labels that change based on signing type (Trusted Signing vs. traditional methods)
20
+
21
+
### 🔒 Security Improvements
22
+
-**Major Security Enhancement**: Completely redesigned password encryption system
23
+
- Replaced hardcoded encryption keys with machine-specific key derivation
24
+
- Upgraded from basic encryption to AES-256 with PBKDF2 key derivation (100,000 iterations)
25
+
- Implemented automatic migration from old encryption format to new secure method
26
+
- Added machine-specific entropy sources (hardware identifiers, system properties)
27
+
- Passwords encrypted on one machine cannot be decrypted on another (intentional security feature)
28
+
- Enhanced certificate validation and password security handling
17
29
18
30
### 🏗️ Architecture Improvements
19
31
- Refactored signing classes (`SignerPfx`, `SignerThumbprint`, `SignerTrustedSigning`) to inherit from new `SignerBase` abstract class
20
32
- Centralized common signing logic, reducing code redundancy and improving maintainability
33
+
- Added new `SecurePasswordManager` class for robust password encryption/decryption
21
34
- Enhanced certificate validation and monitoring capabilities
22
35
- Improved error handling and validation for certificate paths and passwords
36
+
- Better separation of concerns with dedicated security and configuration management classes
23
37
24
38
### ⚡ Performance & Reliability
25
39
- Implemented asynchronous operations for better application responsiveness
26
40
- Enhanced logging system for improved troubleshooting and debugging
27
41
- Added automatic failover to backup timestamp servers when primary servers are unavailable
28
42
- Improved stability when handling certificate operations and network-related timestamp failures
43
+
- Better configuration persistence and loading mechanisms
29
44
30
45
### 🐛 Bug Fixes
31
46
- Better error recovery for network-related timestamp failures
32
47
- Enhanced validation for certificate operations
33
48
- Improved stability in certificate monitoring scenarios
49
+
- Fixed configuration loading order to prevent UI overrides
50
+
- Better handling of corrupted or incompatible password data
51
+
52
+
### 🔧 Technical Details
53
+
- Enhanced compatibility with .NET Framework 4.8
54
+
- Improved machine-specific key generation using multiple entropy sources
55
+
- Added comprehensive error handling and logging for security operations
56
+
- Backward compatibility maintained through automatic password migration system
34
57
35
58
---
36
59
37
-
*This release significantly enhances the reliability, user experience, and enterprise-readiness of the SignTool GUI, particularly for environments requiring robust certificate management and timestamping
60
+
*This release represents a major milestone in security and usability, significantly enhancing the reliability, user experience, and enterprise-readiness of the SignTool GUI. The new security architecture ensures that sensitive certificate passwords are protected with industry-standard encryption while maintaining seamless user experience through automatic migration and intelligent configuration management.*
0 commit comments