fix: support 3DES S/MIME decryption by importing legacy RSAES-PKCS1-v1_5 keys #35

This commit is contained in:
Linus Rath
2026-03-30 16:00:27 +02:00
parent 789d211a71
commit 8937777bcd
5 changed files with 107 additions and 15 deletions
+3 -1
View File
@@ -1545,7 +1545,7 @@ export function EmailViewer({
if (detection.type === 'enveloped-data') {
// Encrypted message
const { keyRecords, unlockedDecryptionKeys } = smimeStore;
const { keyRecords, unlockedDecryptionKeys, unlockedLegacyDecryptionKeys } = smimeStore;
smimeDebug('[S/MIME] decrypt attempt:', { keyRecordCount: keyRecords.length, unlockedKeyCount: unlockedDecryptionKeys.size, keyRecordIds: keyRecords.map(k => k.id) });
// Short-circuit: no keys imported at all
@@ -1569,6 +1569,7 @@ export function EmailViewer({
cmsBytes: candidate.normalized,
keyRecords,
unlockedKeys: unlockedDecryptionKeys,
legacyUnlockedKeys: unlockedLegacyDecryptionKeys,
});
smimeDebug('[S/MIME] decrypt success with candidate:', {
source: candidate.source,
@@ -1804,6 +1805,7 @@ export function EmailViewer({
smimeStore.autoImportSignerCerts,
smimeStore.keyRecords,
smimeStore.unlockedDecryptionKeys,
smimeStore.unlockedLegacyDecryptionKeys,
smimeStore,
]);