PKCS12 default encoder uses LegacyDES (40-bit RC2 + 3DES) #25
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
mod-nag
mod-nag
mod-nag
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
nagonag
nagonag/ignore
question
security
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
heiko/cert-proxy#25
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
cmd/cert-proxy-server/pkcs12.go:68-70: theswitch compatblock catches only"modern"; all other values — including the empty string (the normal case) — fall through topkcs12.LegacyDES, which uses 40-bit RC2 and 3DES. Both ciphers are broken.Impact
Any PKCS12 bundle generated without explicitly passing
?pkcs12-compat=modernis protected only by weak legacy crypto. An attacker with access to the .pfx file can crack the encryption.Fix
Invert the default: use
Modern2023unless"legacy"is explicitly requested.AI attribution comment added per repository instruction for this open issue.\n\n(co)authored by ai:gpt-5-codex