Python 3.12 SSL compatibility: ssl.wrap_socket removed
Open
@faneeshh is already working on this.
Since Aug 18, 2026.
- Dominant language
- Python
- Stars
- 5.6k
- Forks
- 1.2k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 16
Description
Problem
Python 3.12 removed the deprecated ssl.wrap_socket() function, causing Nettacker's SSL scanning functionality to fail on Python 3.12+.
Impact
- SSL weak version detection broken
- SSL weak cipher detection broken
- Users on Python 3.12+ cannot use Nettacker
Root Cause
The deprecated ssl.wrap_socket() was removed in Python 3.12. Nettacker needs to use the modern ssl.SSLContext().wrap_socket() API instead.
Solution
Replace ssl.wrap_socket() with ssl.SSLContext().wrap_socket() throughout the codebase with proper certificate verification settings.
Testing Completed
- ✅ Full Nettacker scan completed successfully on Python 3.12.3
- ✅ All 117 modules loaded without errors
- ✅ SSL weak version detection confirmed working
- ✅ SSL weak cipher detection confirmed working
- ✅ Port scanning executed correctly (1005 requests)
- ✅ Report generation successful
- ✅ Zero Python 3.12 compatibility errors
Related PR
- PR #1177: Implementation of this fix
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.