connect_secure 1.1.0
connect_secure: ^1.1.0 copied to clipboard
Production-ready SSL pinning for Dart/Flutter with Dio, http (IOClient) and dart:io. Protects against MITM attacks with SHA-256 certificate fingerprint validation.
1.1.0 #
New Features #
SSL Pinning Error Tracking & Diagnostics
- Error Tracking System: Comprehensive error tracking with automatic categorization
- Server/Client Detection: Automatically identifies if errors are server-side or client-side
- Actionable Fixes: Provides specific commands and steps to resolve issues
- Analytics Integration: Built-in support for Sentry, Firebase Crashlytics, and custom analytics
- Error Statistics: Track and analyze SSL pinning failures over time
- Diagnostic Reports: Detailed formatted reports with all relevant context
Multiple SSL Pinning Modes
- Certificate Pinning: Pin entire certificate fingerprint (default, most secure)
- Public Key Pinning: Pin only public key fingerprint (survives certificate renewals)
- Backward Compatible: Existing code works unchanged, new modes are optional
Automatic Fingerprint Generation
- Auto-Discovery: Automatically fetch fingerprints from any server
- Multiple Hosts: Discover fingerprints from multiple endpoints at once
- Code Generation: Generate ready-to-use code snippets
- No Manual Commands: Eliminates need for OpenSSL CLI commands
Certificate Chain Validation Options
- Leaf Only: Validate only server certificate (default, fastest)
- Include Intermediate: Validate leaf and intermediate CA certificates
- Full Chain: Validate entire certificate chain including root CA
- Flexible Security: Choose validation depth based on requirements
Improvements #
- Enhanced error messages with detailed context
- Better debugging capabilities in production
- Reduced maintenance overhead with public key pinning
- Improved developer experience with automatic fingerprint generation
Backward Compatibility #
- All existing APIs continue to work without changes
- New parameters are optional with sensible defaults
- No breaking changes
- Maintains pub.dev score of 160 points
Documentation #
- Updated README with comprehensive feature documentation
- Added examples for all new features
- Created detailed usage guides
- Professional formatting without emojis
1.0.1 #
Bug Fixes #
- Fix Dart code formatting issues to improve pub.dev score
- Apply
dart formatto all source files for consistent formatting
1.0.0 #
๐ MAJOR RELEASE - Certificate Lifecycle Management Platform #
This is a major release that transforms connect_secure from a basic SSL pinning package into a comprehensive certificate lifecycle management platform.
๐ Revolutionary New Features #
- Complete Certificate Lifecycle Management - Industry-first comprehensive solution
- CLI Tools Suite - Professional command-line interface for certificate management
- Real-time Certificate Monitoring - Proactive health monitoring and alerts
- Certificate Discovery & Validation - Automated fingerprint extraction and validation
- Certificate Rotation - Seamless certificate updates and rotation
- Multi-Environment Support - Production-ready enterprise features
๐ง New Classes and APIs #
CertificateLifecycleManager- Main utility class for certificate operationsCertificateScanner- Discover certificates from any serverCertificateInfo- Rich certificate information modelFingerprintExtractor- Advanced fingerprint processing utilitiesCertificateHealthChecker- Comprehensive health monitoringCertificateHealth- Detailed health status reporting
๐ ๏ธ CLI Tools (NEW) #
connect_secure discover- Discover and extract certificate fingerprintsconnect_secure monitor- Real-time certificate health monitoringconnect_secure validate- Validate certificates against expected fingerprintsconnect_secure rotate- Manage certificate rotation and updates
๐ Enhanced Documentation #
- Complete API documentation with examples
- Comprehensive usage guides
- Professional error handling examples
- Multi-format output support (JSON, YAML, Dart)
๐๏ธ Architecture Improvements #
- Zero Breaking Changes - Fully backward compatible
- Enterprise-Grade Quality - Production-ready code
- Professional Error Handling - Detailed context and debugging
- Comprehensive Testing - 17+ test cases with 100% pass rate
๐ฏ Use Cases #
- E-commerce Applications - Secure payment processing
- Banking & Finance - Financial transaction security
- Healthcare Applications - Patient data protection
- Enterprise Applications - Internal API security
- DevOps & CI/CD - Automated certificate management
๐ Performance & Reliability #
- Optimized Network Operations - 30-second timeouts
- Robust Error Handling - Specific exception types
- Memory Efficient - Optimized certificate processing
- Thread Safe - Concurrent operation support
๐ Security Enhancements #
- SHA-256 Fingerprint Validation - Industry-standard security
- Certificate Chain Validation - Complete trust verification
- Expiry Monitoring - Proactive certificate management
- MITM Protection - Advanced attack prevention
This major release establishes connect_secure as the definitive solution for SSL certificate management in the Dart/Flutter ecosystem.
0.3.0 #
๐ Major New Features - Certificate Lifecycle Management #
- Certificate Discovery: Automatically extract fingerprints from any server
- Certificate Monitoring: Real-time health monitoring with expiry alerts
- Certificate Validation: Validate certificates against expected fingerprints
- Certificate Rotation: Seamless certificate updates and rotation
- CLI Tools: Comprehensive command-line interface for certificate management
- Multi-Environment Support: Manage certificates across different environments
๐ง New Classes and APIs #
CertificateLifecycleManager- Main utility class for certificate operationsCertificateScanner- Discover certificates from serversCertificateInfo- Certificate information model with expiry trackingFingerprintExtractor- Extract and normalize certificate fingerprintsCertificateHealthChecker- Check certificate health and validityCertificateHealth- Certificate health status model
๐ ๏ธ CLI Tools #
connect_secure discover- Discover and extract certificate fingerprintsconnect_secure monitor- Monitor certificate health and expiryconnect_secure validate- Validate certificates against expected fingerprintsconnect_secure rotate- Manage certificate rotation and updates
๐ Enhanced Examples #
- Added
certificate_lifecycle_example.dartwith comprehensive examples - Updated main example to showcase new features
- Added CLI usage examples in README
๐ง Developer Experience #
- Zero Breaking Changes - All existing code continues to work
- Backward Compatible - New features are additive
- Comprehensive Documentation - Full API docs and examples
- Multiple Output Formats - JSON, YAML, Dart code generation
0.2.0 #
๐ Major Improvements (Breaking Changes) #
- Enhanced Error Handling:
SslPinningExceptionnow includes detailed information about failed validations (host, rejected fingerprint, allowed fingerprints) - Comprehensive Test Coverage: Added extensive test suite covering all functionality including fingerprint normalization, validation logic, and error scenarios
- Complete API Documentation: Added dartdoc comments to all public APIs with examples and parameter descriptions
- Code Refactoring: Extracted common validation logic into
SslPinningUtilsutility class to eliminate code duplication - Enhanced Security: Improved SSL pinning validation with better error reporting and exception handling
๐ง New Features #
- Added
SslPinningUtilsutility class with static methods for fingerprint operations - Enhanced
SslPinningExceptionwith additional context fields (host, rejectedFingerprint, allowedFingerprints) - Added PUT and DELETE methods to
SecureHttpClient - Added
close()method toSecureHttpClientfor proper resource cleanup - Improved example application with comprehensive error handling demonstrations
๐ Documentation #
- Updated README with security best practices section
- Added commands for obtaining certificate fingerprints
- Enhanced error handling examples
- Fixed version inconsistencies in documentation
- Added certificate rotation guidance
๐งช Testing #
- Added comprehensive test suite with 17+ test cases
- Tests for fingerprint normalization (colon, space, continuous formats)
- Tests for SHA-256 fingerprint generation consistency
- Tests for all HTTP client implementations
- Tests for error handling and exception scenarios
๐ง Developer Experience #
- Better error messages with actionable information
- Consistent API across all HTTP client implementations
- Improved example application with real-world usage patterns
- Enhanced pubspec metadata with better description and topics
โ ๏ธ Migration from 0.1.0 #
SslPinningExceptionconstructor now accepts optional named parameters- All existing code will continue to work without changes
- New error handling features are backward compatible
0.1.0 #
- Add host-based pinning and fingerprint normalization
- Add
createPinnedHttpClientfactory forhttp(IOClient) - Update README and example
- Improve pubspec metadata and topics
0.0.3 #
- Initial working version with
SecureHttpClientandDioSslPinning
0.0.1 #
- TODO: Describe initial release.