Archived Forum PostQuestion:
We discovered an issue on the mime part which we ONLY got to work with version 9.4.1.0. When decrypting a mime mail object no version before !!or after!! 9.4.1.0 can decrypt our mime. Using version 9.4.1 works just like expected
Decrypt:
DllDate: Dec 29 2015
ChilkatVersion: 9.5.0.55
UnlockPrefix: XXXDEUSMIME
Username: --------:-------
Architecture: Little Endian; 32-bit
Language: .NET 2.0
VerboseLogging: 0
decryptMime:
unenvelope:
loadPkcs7Der:
der_to_xml:
(leaveContext)
loadPkcs7Xml:
Pkcs7_EnvelopedData:
AlgorithmIdentifier_loadXml:
RC2_CBC
IV: K2gyn/LeD78=
KeyLength: 40
(leaveContext)
numRecipients: 1
RecipientInfo:
IssuerAndSerialNumber:
issuerCommonName:
issuerCountry: XX
issuerState:
issuerLocality:
issuerOrganization: XXX
(leaveContext)
AlgorithmIdentifier_loadXml:
(leaveContext)
encryptedKeyNumBytes: 128
(leaveContext)
(leaveContext)
(leaveContext)
(leaveContext)
unEnvelope3:
unEnvelope_encrypted:
findMatchingPrivateKeyFromSysCerts:
numRecipientInfos: 1
certSerialNumber: 00
certIssuerCN:
subjectKeyIdentifier:
findPrivateKey:
findCertificate:
findCertB:
(leaveContext)
findCertBySerialAndIssuerCN:
msFindMsCertBySerialAndIssuerCN:
openCertStore:
(leaveContext)
openCertStore:
(leaveContext)
openCertStore:
(leaveContext)
openCertStore:
(leaveContext)
openCertStore:
(leaveContext)
openCertStore:
(leaveContext)
openCertStore:
(leaveContext)
openCertStore:
(leaveContext)
(leaveContext)
(leaveContext)
(leaveContext)
(leaveContext)
findPrivateKey:
findCertificate:
findCertB:
(leaveContext)
findCertBySerialAndIssuerCN:
msFindMsCertBySerialAndIssuerCN:
(leaveContext)
(leaveContext)
(leaveContext)
(leaveContext)
(leaveContext)
No certificate with private key found.
(leaveContext)
(leaveContext)
Failed to unenvelope message
(leaveContext)
Failed.
(leaveContext)
Failed.
(leaveContext)
We'd need to see the LastErrorText for the success case using v9.4.1. The LastErrorText will contain content for both successful and failed method calls. Also:
Hi support team. After putting this on hold for some time I had to get back to the same and I still have the same issue, so requesting your support now with MORE details and findings: To sum up, I tested the same mail (encrypted), same certificate and on the same machine on 3 different Chilkat versions 9.4.1.25: works (the .Net 2.0 framework) 9.5.0.56: FAILS (the .Net 4.5.2 framework) -- The one I need 9.5.0.69: works (the .Net 6.1 famework - latest)
I m posting now the LasteErrorText output from all 3 attempts in the above order
Chilkat version 9.4.1.25 - successful encrypted
ChilkatLog:
Decrypt:
DllDate: Jul 8 2013
ChilkatVersion: 9.4.1.25
UnlockPrefix: UPSDEUSMIME
Username: WKSP000587B3:KLN1AVP
Architecture: Little Endian; 32-bit
Language: .NET 2.0
VerboseLogging: 1
certSerialNumber: 00
certIssuerCN:
loadPkcs7Der_5:
DerParseTimeMs: Elapsed time: 0 millisec
loadPkcs7Xml:
Pkcs7_loadXml:
Pkcs7_EnvelopedData:
RC2_CBC
IV: hin4yTv0Arg=
KeyLength: 40
numRecipients: 1
RecipientInfo:
IssuerAndSerialNumber:
serialNumber1: 00
issuerCommonName:
issuerCountry: NL
issuerState:
issuerLocality:
issuerOrganization: UPS
--IssuerAndSerialNumber
encryptedKeyNumBytes: 128
--RecipientInfo
--Pkcs7_EnvelopedData
--Pkcs7_loadXml
--loadPkcs7Xml
Pkcs7XmlLoadTimeMs: Elapsed time: 0 millisec
--loadPkcs7Der_5
UnEnvelope2:
FindMatchingRecipientInfo:
NeedSerial:
NeedIssuerCN:
NumRecipientInfos: 1
Found matching RecipientInfo
--FindMatchingRecipientInfo
AlgorithmIdentifier:
oid: 1.2.840.113549.1.1.1
--AlgorithmIdentifier
Decrypting symmetric key...(3)
ModulusLen: 129
DLen: 128
PLen: 65
QLen: 65
DPLen: 65
DQLen: 64
InvQLen: 64
modulus_bitlen: 1024
littleEndian: 1
encryptedData: 2E22 D5D7 3E72 1E1F 32F4 90DC 6B89 994A
2402 051D EC03 589D 7C7E 521A B5E9 D5D6
52C7 4896 C797 FFA5 E5C2 7E89 1A8C 7849
131A AC8E B45E 235E 6CB8 8CAA 62C9 D0DA
41B4 99C6 AC19 FD02 DB6F EA07 3E3A 45B6
91AC 0A97 7D4F BBEF D9C2 23C4 336A 05B6
1BF2 E2AC 8D7C A620 7DCB 8B8B CF1D 639D
460D A28F 0936 9EE1 EE88 2FAD 166B DB71
exptmod: Elapsed time: 16 millisec
exptmod_decoded: 0270 9B05 6F09 BF81 1019 38EC B078 3B04
69EE A593 259B BAA7 11CD 9BC8 F445 8BD5
E896 7BC1 07D0 9070 0BBA 199C 898C 7891
8753 CF3D 9E57 7FB5 E258 CD59 B604 97AD
45DB 4855 4421 5ADF FE77 9042 D190 C176
4233 A362 DD60 2E30 6321 9A6C 389E 127D
78BC 38FC 698B B0A2 0D3F 8BA9 EB8F D7E9
97BF 53AD 1DB0 C551 1F00 DABC 54ED B4
exptmod_decoded_size: 127
padding: PKCS 1.5
sizeAfterPkcs15_decode: 5
Decrypting data using symmetric key (3)
decryptedSymmetricKeyLen3: 5
symmetricDecrypt_3:
setByAlgorithmIdentifier:
algId_oid: 1.2.840.113549.3.2
RC2_CBC
keyLength: 40
--setByAlgorithmIdentifier
symmetricKeySizeInBytes: 5
numBytesToDecrypt: 2968
algorithm: rc2
keyLength: 40
outputSize: 2961
symmetricDecryptOutputSize: 2961
--symmetricDecrypt_3
--UnEnvelope2
LoadMimeComplete2:
Found end-of-header.
setHeaderContents:
ParseMimeHeader:
Header is entirely 7-bit
FinalCodePageDecision: 0
unfoldedHeaderField1: Mime-Version: 1.0
MimeField:
rawField: Mime-Version: 1.0
name: Mime-Version
value: 1.0
--MimeField
unfoldedHeaderField1: Content-Type: application/x-pkcs7-mime; smime-type=signed-data; name=smime.p7m
MimeField:
rawField: Content-Type: application/x-pkcs7-mime; smime-type=signed-data; name=smime.p7m
name: Content-Type
value: application/x-pkcs7-mime; smime-type=signed-data; name=smime.p7m
--MimeField
unfoldedHeaderField1: Content-Transfer-Encoding: base64
MimeField:
rawField: Content-Transfer-Encoding: base64
name: Content-Transfer-Encoding
value: base64
--MimeField
unfoldedHeaderField2: Content-Disposition: attachment; filename=249WKSKA.DAT
MimeField:
rawField: Content-Disposition: attachment; filename=249WKSKA.DAT
name: Content-Disposition
value: attachment; filename=249WKSKA.DAT
--MimeField
--ParseMimeHeader
--setHeaderContents
parseMimeBody:
contentType: application/x-pkcs7-mime; smime-type=signed-data; name=smime.p7m
charset:
clearing charset based on content-type.
treating body as binary (non-character) data.
treating body as binary data because of attachment status.
bIsAttachment: 1
setMimeBodyByEncoding2:
encoding: base64
entireBodyLen: 2764
charset:
isText: 0
wasReally1252: 0
--setMimeBodyByEncoding2
--parseMimeBody
--LoadMimeComplete2
Success.
--Decrypt
--ChilkatLog
Now the failing Log from 9.5.0.56
ChilkatLog:
Decrypt2(31ms):
DllDate: Mar 11 2016
ChilkatVersion: 9.5.0.56
UnlockPrefix: UPSDEUSMIME
Username: WKSP000587B3:KLN1AVP
Architecture: Little Endian; 32-bit
Language: .NET 4.5
VerboseLogging: 1
addCertificate:
addCertificate:
constructSerialIssuerHashKey:
using issuerDN for self-issued certificate.
--constructSerialIssuerHashKey
certHashEntryB: 00:NL, UPS, UPS, ups@douane.lan
skiHashKey: SubjectKeyId:iyu179VlVBpz7HjVmzV4TAMr6Ck=
--addCertificate
--addCertificate
decryptMime(31ms):
unenvelope(31ms):
loadPkcs7Der:
DerParseTimeMs: Elapsed time: 0 millisec
loadPkcs7Xml:
Pkcs7_EnvelopedData:
AlgorithmIdentifier_loadXml:
oid: 1.2.840.113549.3.2
RC2_CBC
IV: hin4yTv0Arg=
KeyLength: 40
--AlgorithmIdentifier_loadXml
numRecipients: 1
RecipientInfo:
IssuerAndSerialNumber:
serialNumber1: 00
issuerCommonName:
issuerCountry: NL
issuerState:
issuerLocality:
issuerOrganization: UPS
--IssuerAndSerialNumber
AlgorithmIdentifier_loadXml:
oid: 1.2.840.113549.1.1.1
--AlgorithmIdentifier_loadXml
encryptedKeyNumBytes: 128
--RecipientInfo
--Pkcs7_EnvelopedData
--loadPkcs7Xml
Pkcs7XmlLoadTimeMs: Elapsed time: 0 millisec
--loadPkcs7Der
unEnvelope3(31ms):
unEnvelope_encrypted(31ms):
findMatchingPrivateKeyFromSysCerts(31ms):
numRecipientInfos: 1
certSerialNumber: 00
certIssuerCN:
subjectKeyIdentifier:
findPrivateKey(15ms):
findCertificate(15ms):
findCertBySerialAndIssuerCN(15ms):
msFindMsCertBySerialAndIssuerCN(15ms):
certSerialNumber:
certIssuerCN:
needPrivateKey: 0
No match found in MY current-user certificate store.
No match found in MY local-machine certificate store.
No match found in AddressBook current-user certificate store.
No match found in AddressBook local-machine certificate store.
No match found in CA current-user certificate store.
No match found in CA local-machine certificate store.
No match found in ROOT current-user certificate store.
No match found in ROOT local-machine certificate store.
--msFindMsCertBySerialAndIssuerCN
--findCertBySerialAndIssuerCN
--findCertificate
--findPrivateKey
findPrivateKey(16ms):
findCertificate(16ms):
findCertBySerialAndIssuerCN(16ms):
msFindMsCertBySerialAndIssuerCN(16ms):
certSerialNumber: 00
certIssuerCN:
needPrivateKey: 0
findCertBySerialAndIssuerCN(16ms):
Found certificate with matching serial number!
IssuerDN: C=CH, L=Bern, O=Eidg. Oberzolldirektion, OU=Test CA Abteilung, CN=OZD Test CA, E=admin@m90test.ezv.admin.ch,
Found certificate with matching serial number!
IssuerDN: C=CH, L=Bern, O=Eidg. Oberzolldirektion, OU=CA Abteilung, CN=OZD CA, E=admin@m90.ezv.admin.ch,
--findCertBySerialAndIssuerCN
No match found in MY current-user certificate store.
No match found in MY local-machine certificate store.
No match found in AddressBook current-user certificate store.
No match found in AddressBook local-machine certificate store.
No match found in CA current-user certificate store.
No match found in CA local-machine certificate store.
findCertBySerialAndIssuerCN:
Found certificate with matching serial number!
IssuerDN: C=CH, L=Bern, O=Eidg. Oberzolldirektion, OU=Test CA Abteilung, CN=OZD Test CA, E=admin@m90test.ezv.admin.ch,
Found certificate with matching serial number!
IssuerDN: C=NL, O=UPS, OU=UPS, E=ups@douane.lan,
Found certificate with matching serial number!
IssuerDN: C=ZA, ST=Western Cape, L=Durbanville, O=Thawte, OU=Thawte Certification, CN=Thawte Timestamping CA,
Found certificate with matching serial number!
IssuerDN: C=US, ST=Arizona, L=Scottsdale, O="Starfield Technologies, Inc.", CN=Starfield Root Certificate Authority - G2,
Found certificate with matching serial number!
IssuerDN: C=US, O="Starfield Technologies, Inc.", OU=Starfield Class 2 Certification Authority,
Found certificate with matching serial number!
IssuerDN: C=US, ST=Arizona, L=Scottsdale, O="Starfield Technologies, Inc.", OU=http://certificates.starfieldtech.com/repository/, CN=Starfield Services Root Certificate Authority,
Found certificate with matching serial number!
IssuerDN: C=US, ST=Arizona, L=Scottsdale, O="GoDaddy.com, Inc.", CN=Go Daddy Root Certificate Authority - G2,
Found certificate with matching serial number!
IssuerDN: C=US, O="The Go Daddy Group, Inc.", OU=Go Daddy Class 2 Certification Authority,
--findCertBySerialAndIssuerCN
No match found in ROOT current-user certificate store.
findCertBySerialAndIssuerCN:
Found certificate with matching serial number!
IssuerDN: C=ZA, ST=Western Cape, L=Durbanville, O=Thawte, OU=Thawte Certification, CN=Thawte Timestamping CA,
Found certificate with matching serial number!
IssuerDN: C=US, ST=Arizona, L=Scottsdale, O="Starfield Technologies, Inc.", CN=Starfield Root Certificate Authority - G2,
Found certificate with matching serial number!
IssuerDN: C=US, O="Starfield Technologies, Inc.", OU=Starfield Class 2 Certification Authority,
Found certificate with matching serial number!
IssuerDN: C=US, ST=Arizona, L=Scottsdale, O="Starfield Technologies, Inc.", OU=http://certificates.starfieldtech.com/repository/, CN=Starfield Services Root Certificate Authority,
Found certificate with matching serial number!
IssuerDN: C=US, ST=Arizona, L=Scottsdale, O="GoDaddy.com, Inc.", CN=Go Daddy Root Certificate Authority - G2,
Found certificate with matching serial number!
IssuerDN: C=US, O="The Go Daddy Group, Inc.", OU=Go Daddy Class 2 Certification Authority,
--findCertBySerialAndIssuerCN
No match found in ROOT local-machine certificate store.
--msFindMsCertBySerialAndIssuerCN
--findCertBySerialAndIssuerCN
--findCertificate
--findPrivateKey
--findMatchingPrivateKeyFromSysCerts
No certificate with private key found.
RecipientInfos:
recipient:
certSerialNum: 00
certIssuerCN:
--recipient
--RecipientInfos
--unEnvelope_encrypted
--unEnvelope3
Failed to unenvelope message
--unenvelope
Failed.
--decryptMime
mergeSysCerts:
addCertificate:
constructSerialIssuerHashKey:
using issuerDN for self-issued certificate.
--constructSerialIssuerHashKey
--addCertificate
--mergeSysCerts
Failed.
--Decrypt2
--ChilkatLog
and here the latest version which again WORKS
ChilkatLog:
Decrypt2:
DllDate: Aug 30 2017
ChilkatVersion: 9.5.0.69
UnlockPrefix: UPSDEUSMIME
Architecture: Little Endian; 32-bit
Language: .NET 4.6 VS2017
VerboseLogging: 1
addCertificate_2:
addCertificate_3:
constructSerialIssuerHashKey:
using issuerDN for self-issued certificate.
--constructSerialIssuerHashKey
certHashEntryB: 00:NL, UPS, UPS, ups@douane.lan
skiHashKey: SubjectKeyId:iyu179VlVBpz7HjVmzV4TAMr6Ck=
--addCertificate_3
--addCertificate_2
decryptMime:
unenvelope:
loadPkcs7Der:
DerParseTimeMs: Elapsed time: 0 millisec
loadPkcs7Xml:
Pkcs7_EnvelopedData:
AlgorithmIdentifier_loadXml:
oid: 1.2.840.113549.3.2
RC2_CBC
IV: hin4yTv0Arg=
KeyLength: 40
--AlgorithmIdentifier_loadXml
numRecipients: 1
RecipientInfo:
IssuerAndSerialNumber:
serialNumber1: 00
issuerCommonName:
issuerCountry: NL
issuerState:
issuerLocality:
issuerOrganization: UPS
issuerDN: NL, UPS, UPS, ups@douane.lan
--IssuerAndSerialNumber
AlgorithmIdentifier_loadXml:
oid: 1.2.840.113549.1.1.1
--AlgorithmIdentifier_loadXml
encryptedKeyNumBytes: 128
--RecipientInfo
--Pkcs7_EnvelopedData
--loadPkcs7Xml
Pkcs7XmlLoadTimeMs: Elapsed time: 0 millisec
--loadPkcs7Der
unEnvelope3:
unEnvelope_encrypted:
findMatchingPrivateKeyFromSysCerts:
numRecipientInfos: 1
certSerialNumber: 00
certIssuerCN:
certIssuerDN: NL, UPS, UPS, ups@douane.lan
subjectKeyIdentifier:
--findMatchingPrivateKeyFromSysCerts
AlgorithmIdentifier:
oid: 1.2.840.113549.1.1.1
--AlgorithmIdentifier
Decrypting symmetric key...(1)
modulus_bitlen: 1024
bigEndian: 1
padding: PKCS 1.5
sizeAfterPkcs15_decode: 5
Decrypting data using symmetric key (1)
decryptedSymmetricKeyLen1: 5
symmetricDecrypt:
getByAlgorithmIdentifier:
algId_oid: 1.2.840.113549.3.2
RC2_CBC
keyLength: 40
--getByAlgorithmIdentifier
symmetricKeySizeInBytes: 5
numBytesToDecrypt: 2968
symmetricDecryptOutputSize: 2961
--symmetricDecrypt
--unEnvelope_encrypted
--unEnvelope3
cert_issuer: NL, UPS, UPS, ups@douane.lan
cert_subject: NL, UPS, UPS, ups@douane.lan
unenvelopedDataSize: 2961
replaceWithUnenveloped:
unwrapSignedData:
loadPkcs7Der:
DerParseTimeMs: Elapsed time: 0 millisec
loadPkcs7Xml:
loadSignedDataXml:
NumDigestAlgorithmIdentifiers: 1
AlgorithmIdentifier_loadXml:
oid: 1.2.840.113549.2.5
--AlgorithmIdentifier_loadXml
AlgorithmIdentifier:
oid: 1.2.840.113549.2.5
--AlgorithmIdentifier
This is an opaque signature.
Recovered original content.
OriginalContentLen: 622
numSigners: 1
SignerInfo:
signerInfoLoadXml:
serialNumber2: 00C3918D35176FC3F7
issuerCN: Koeriers
digestAlgorithmOid: 1.2.840.113549.2.5
No SignerInfo message digest found.
signerAlgorithmOid: 1.2.840.113549.1.1.1
signerDigestSize: 128
--signerInfoLoadXml
--SignerInfo
--loadSignedDataXml
--loadPkcs7Xml
Pkcs7XmlLoadTimeMs: Elapsed time: 0 millisec
extractCertsFromSignedData:
numCerts: 1
certificate:
IssuerCN: Koeriers
SerialNum: 00C3918D35176FC3F7
SubjectDN: C=NL, ST=Brabant, L=Eindhoven, O=Belastingdienst Douane, OU=Team Koeriers, CN=Koeriers, E=douane@douane.lan
--certificate
addCertDer:
addCertificate_3:
constructSerialIssuerHashKey:
using subjectCN for self-issued certificate.
--constructSerialIssuerHashKey
certHashEntryB: 00C3918D35176FC3F7:Koeriers
skiHashKey: SubjectKeyId:fdGnm2CCLZ1gqrijbQ6e/7Mlzgo=
--addCertificate_3
--addCertDer
--extractCertsFromSignedData
extractCertsTimeMs: Elapsed time: 0 millisec
--loadPkcs7Der
verifyOpaqueSignature:
verifySignature:
numSigners: 1
numDigestAlgorithms: 1
Computing MD5 message digest.
numBytesDigested: 622
md5_hash: 393E 6A78 ABA6 F59E AE7A AC91 1EF5 8E8B
numSigners: 1
signerDigestAlgOid: 1.2.840.113549.2.5
messageDigestSize: 0
SignerInfo message digest is empty.
Signer:
getSignerInfoCert:
issuerCN: Koeriers
serialNum: 00C3918D35176FC3F7
--getSignerInfoCert
--Signer
All digests verified.
Skipped verification of certificates.
--verifySignature
--verifyOpaqueSignature
--unwrapSignedData
--replaceWithUnenveloped
--unenvelope
Success.
--decryptMime
mergeSysCerts:
addCertificate_3:
constructSerialIssuerHashKey:
using issuerDN for self-issued certificate.
--constructSerialIssuerHashKey
skiHashKey: SubjectKeyId:iyu179VlVBpz7HjVmzV4TAMr6Ck=
The cert hash map already contains this skiHashKey...
--addCertificate_3
--mergeSysCerts
Success.
--Decrypt2
--ChilkatLog