[GH-ISSUE #172] InvalidCastException on vCard sync #169

Closed
opened 2026-02-25 20:31:03 +03:00 by kerem · 4 comments
Owner

Originally created by @big-chen on GitHub (Oct 10, 2016).
Original GitHub issue: https://github.com/aluxnimm/outlookcaldavsynchronizer/issues/172

Hi,

I just updated to version 2.7.0.0 and the following happened after cleaning the cache (Sync between Outlook and ownCloud):
vCard Data Element (local dav element):

BEGIN:VCARD
VERSION:3.0
PRODID:-//Sabre//Sabre VObject 3.5.0//EN
KEY;TYPE=X509:MIIEijCC...  some more base64 codes... gAAQAAAA==
UID:975f519f-47fd-4256-ad29-0c2cd63a7981
FN:SXXXH\, RXXXA
N:SXXXH;RXXXA;;;
TEL;TYPE=cell,PREF:+49 00 00022
TEL;TYPE=work:+49 00 00062
TEL;TYPE=voice:+1 500 0009
TEL;TYPE=fax:+49 00 00000
EMAIL;TYPE=work:rXXXa.sXXXh@lhXXX.com
ORG:LUXXX O. KG;BER AFOLP
ADR;LABEL="SXXXR 8^nBXXXN 10587^nGXXXY";TYPE=work:;;SXXXR 8;BXXXN
 ;;10587;GERMANY
NOTE:\n\n----------------------------------------------------\nAktualisiert
 e Details 14.06.2012:\n    Adresse geschäftlich: Land/Region: GERMANY German
 y\n    Initialen: RS R.S.\n\n------------------------------------------------
 ----\nAktualisierte Details 03.01.2013:\n  Abteilung: BXXXXL\n
 \n----------------------------------------------------\nAktualisierte Deta
 ils 16.06.2014:\n  Abteilung: BXXXL
REV:20161007T053038Z
END:VCARD

I got this exception:

    False   System.InvalidCastException: Unable to cast object of type 'System.String' to type 'System.Byte[]'.
   at Thought.vCards.vCardStandardReader.ReadInto_KEY(vCard card, vCardProperty property)
   at Thought.vCards.vCardStandardReader.ReadInto(vCard card, vCardProperty property)
   at Thought.vCards.vCardStandardReader.ReadInto(vCard card, TextReader reader)
   at CalDavSynchronizer.Implementation.Contacts.CardDavRepository.Deserialize(String vcardData, vCardStandardReader serializer)
   at CalDavSynchronizer.Implementation.Contacts.CardDavRepository.TryDeserialize(String vcardData, vCard& vcard, WebResourceName uriOfAddressbookForLogging, vCardStandardReader deserializer, ILoadEntityLogger logger)

Thanks!

Cheers!

Originally created by @big-chen on GitHub (Oct 10, 2016). Original GitHub issue: https://github.com/aluxnimm/outlookcaldavsynchronizer/issues/172 Hi, I just updated to version 2.7.0.0 and the following happened after cleaning the cache (Sync between Outlook and ownCloud): vCard Data Element (local dav element): ``` BEGIN:VCARD VERSION:3.0 PRODID:-//Sabre//Sabre VObject 3.5.0//EN KEY;TYPE=X509:MIIEijCC... some more base64 codes... gAAQAAAA== UID:975f519f-47fd-4256-ad29-0c2cd63a7981 FN:SXXXH\, RXXXA N:SXXXH;RXXXA;;; TEL;TYPE=cell,PREF:+49 00 00022 TEL;TYPE=work:+49 00 00062 TEL;TYPE=voice:+1 500 0009 TEL;TYPE=fax:+49 00 00000 EMAIL;TYPE=work:rXXXa.sXXXh@lhXXX.com ORG:LUXXX O. KG;BER AFOLP ADR;LABEL="SXXXR 8^nBXXXN 10587^nGXXXY";TYPE=work:;;SXXXR 8;BXXXN ;;10587;GERMANY NOTE:\n\n----------------------------------------------------\nAktualisiert e Details 14.06.2012:\n Adresse geschäftlich: Land/Region: GERMANY German y\n Initialen: RS R.S.\n\n------------------------------------------------ ----\nAktualisierte Details 03.01.2013:\n Abteilung: BXXXXL\n \n----------------------------------------------------\nAktualisierte Deta ils 16.06.2014:\n Abteilung: BXXXL REV:20161007T053038Z END:VCARD ``` I got this exception: ``` False System.InvalidCastException: Unable to cast object of type 'System.String' to type 'System.Byte[]'. at Thought.vCards.vCardStandardReader.ReadInto_KEY(vCard card, vCardProperty property) at Thought.vCards.vCardStandardReader.ReadInto(vCard card, vCardProperty property) at Thought.vCards.vCardStandardReader.ReadInto(vCard card, TextReader reader) at CalDavSynchronizer.Implementation.Contacts.CardDavRepository.Deserialize(String vcardData, vCardStandardReader serializer) at CalDavSynchronizer.Implementation.Contacts.CardDavRepository.TryDeserialize(String vcardData, vCard& vcard, WebResourceName uriOfAddressbookForLogging, vCardStandardReader deserializer, ILoadEntityLogger logger) ``` Thanks! Cheers!
kerem closed this issue 2026-02-25 20:31:03 +03:00
Author
Owner

@aluxnimm commented on GitHub (Oct 10, 2016):

the key attribute has some invalid base64 encoding. I would need the original vcf file to test.

Just remove the key attribute or fix the value to avoid the error from our used library.

<!-- gh-comment-id:252546015 --> @aluxnimm commented on GitHub (Oct 10, 2016): the key attribute has some invalid base64 encoding. I would need the original vcf file to test. Just remove the key attribute or fix the value to avoid the error from our used library.
Author
Owner

@big-chen commented on GitHub (Oct 10, 2016):

Ok, this is the complete bas64 KEY attribute:

KEY;TYPE=X509:MIIEijCCA3KgAwIBAgIEQx1cPzANBgkqhkiG9w0BAQUFADA4MQswCQYDVQQGE
 wJkZTESMBAGA1UEChMJTHVmdGhhbnNhMRUwEwYDVQQLEwxMdWZ0aGFuc2EgQ0EwHhcNMDYxMTA
 yMTIwMzIwWhcNMDkxMTAyMTIzMzIwWjBxMQswCQYDVQQGEwJERTESMBAGA1UEChMJTHVmdGhhb
 nNhMSEwHwYDVQQLExhMdWZ0aGFuc2EgU3lzdGVtcyBCZXJsaW4xDDAKBgNVBAsTA0JFUjEdMBs
 GA1UEAxMUUmVlbWEgU2hhaCAoVTI0NjI5MykwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBA
 LqRUSLpcqvXG4BidOs0Q8teGR/uCuJdPrStdpScE8JnqcZstOi6qL6TdIbiRyKPLDl88ko9EoF
 lnCcde2tmDSVkJ3KKj7zSngT9+2x4lTOE4ZScXCriwI9gyr+eukLKO9ec84qOfamv16tHLWfST
 luuZ8DDIQS+l62dgoNpJGW5AgMBAAGjggHlMIIB4TALBgNVHQ8EBAMCBSAwWAYJYIZIAYb6ax4
 BBEsMSVRoZSBwcml2YXRlIGtleSBjb3JyZXNwb25kaW5nIHRvIHRoaXMgY2VydGlmaWNhdGUgb
 WF5IGhhdmUgYmVlbiBleHBvcnRlZC4wIwYDVR0RBBwwGoEYUkVFTUEuU0hBSEBMSFNZU1RFTVM
 uQ09NMBsGA1UdCQQUMBIwEAYJKoZIhvZ9B0QdMQMCAQcwgc8GA1UdHwSBxzCBxDBQoE6gTKRKM
 EgxCzAJBgNVBAYTAmRlMRIwEAYDVQQKEwlMdWZ0aGFuc2ExFTATBgNVBAsTDEx1ZnRoYW5zYSB
 DQTEOMAwGA1UEAxMFQ1JMNDYwcKBuoGyGQ2xkYXA6Ly9ub3ZlbGwtbmRzLnBraS5mcmEuZGxoL
 mRlL291PUx1ZnRoYW5zYSUyMENBLG89THVmdGhhbnNhLGM9ZGWGJWh0dHA6Ly9jcmwucGtpLmZ
 yYS5kbGguZGUvQ1JML0NSTC5jcmwwHwYDVR0jBBgwFoAUU7pxg4g0cvkpfpWne5n2CrbJ/mQwH
 QYDVR0OBBYEFCzPqHa4bAINEG5AmuM8HdS0sUr+MAkGA1UdEwQCMAAwGQYJKoZIhvZ9B0EABAw
 wChsEVjcuMQMCBLAwDQYJKoZIhvcNAQEFBQADggEBAGMQc1ZvvFjZ41FMZpUcwuHUsI9JSEaU/
 BzkFKgoEwUmmaOt7hfOyblrAEIveokT3riGd5J6tsiIVM3lBxeiqko6vlFuxtTVq84WNAb9Edy
 3qLTEKZXRmDjGvAUz7mJup4W4OfXZnGnM/zPtdiZVKYyALcO8C8boUfwf/OtDTNY8HVnDPS2mq
 nvTpmzMiAOE4LOWxwORAliFF7KZUV6BhzDsbf4o7mU3X1M9Jci+dHr9IpBQjYwEyJwHgv4oLMe
 zUbwYwIn4KpYmCWhCRGTvMK5w0peVAdHPa5dh4n0wWqlS0I6vGG0oNtvy+OKAXG8WrndOkOdwB
 ITYUqxW8x12N0oGAAgAAQAAAA==
<!-- gh-comment-id:252550462 --> @big-chen commented on GitHub (Oct 10, 2016): Ok, this is the complete bas64 KEY attribute: ``` KEY;TYPE=X509:MIIEijCCA3KgAwIBAgIEQx1cPzANBgkqhkiG9w0BAQUFADA4MQswCQYDVQQGE wJkZTESMBAGA1UEChMJTHVmdGhhbnNhMRUwEwYDVQQLEwxMdWZ0aGFuc2EgQ0EwHhcNMDYxMTA yMTIwMzIwWhcNMDkxMTAyMTIzMzIwWjBxMQswCQYDVQQGEwJERTESMBAGA1UEChMJTHVmdGhhb nNhMSEwHwYDVQQLExhMdWZ0aGFuc2EgU3lzdGVtcyBCZXJsaW4xDDAKBgNVBAsTA0JFUjEdMBs GA1UEAxMUUmVlbWEgU2hhaCAoVTI0NjI5MykwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBA LqRUSLpcqvXG4BidOs0Q8teGR/uCuJdPrStdpScE8JnqcZstOi6qL6TdIbiRyKPLDl88ko9EoF lnCcde2tmDSVkJ3KKj7zSngT9+2x4lTOE4ZScXCriwI9gyr+eukLKO9ec84qOfamv16tHLWfST luuZ8DDIQS+l62dgoNpJGW5AgMBAAGjggHlMIIB4TALBgNVHQ8EBAMCBSAwWAYJYIZIAYb6ax4 BBEsMSVRoZSBwcml2YXRlIGtleSBjb3JyZXNwb25kaW5nIHRvIHRoaXMgY2VydGlmaWNhdGUgb WF5IGhhdmUgYmVlbiBleHBvcnRlZC4wIwYDVR0RBBwwGoEYUkVFTUEuU0hBSEBMSFNZU1RFTVM uQ09NMBsGA1UdCQQUMBIwEAYJKoZIhvZ9B0QdMQMCAQcwgc8GA1UdHwSBxzCBxDBQoE6gTKRKM EgxCzAJBgNVBAYTAmRlMRIwEAYDVQQKEwlMdWZ0aGFuc2ExFTATBgNVBAsTDEx1ZnRoYW5zYSB DQTEOMAwGA1UEAxMFQ1JMNDYwcKBuoGyGQ2xkYXA6Ly9ub3ZlbGwtbmRzLnBraS5mcmEuZGxoL mRlL291PUx1ZnRoYW5zYSUyMENBLG89THVmdGhhbnNhLGM9ZGWGJWh0dHA6Ly9jcmwucGtpLmZ yYS5kbGguZGUvQ1JML0NSTC5jcmwwHwYDVR0jBBgwFoAUU7pxg4g0cvkpfpWne5n2CrbJ/mQwH QYDVR0OBBYEFCzPqHa4bAINEG5AmuM8HdS0sUr+MAkGA1UdEwQCMAAwGQYJKoZIhvZ9B0EABAw wChsEVjcuMQMCBLAwDQYJKoZIhvcNAQEFBQADggEBAGMQc1ZvvFjZ41FMZpUcwuHUsI9JSEaU/ BzkFKgoEwUmmaOt7hfOyblrAEIveokT3riGd5J6tsiIVM3lBxeiqko6vlFuxtTVq84WNAb9Edy 3qLTEKZXRmDjGvAUz7mJup4W4OfXZnGnM/zPtdiZVKYyALcO8C8boUfwf/OtDTNY8HVnDPS2mq nvTpmzMiAOE4LOWxwORAliFF7KZUV6BhzDsbf4o7mU3X1M9Jci+dHr9IpBQjYwEyJwHgv4oLMe zUbwYwIn4KpYmCWhCRGTvMK5w0peVAdHPa5dh4n0wWqlS0I6vGG0oNtvy+OKAXG8WrndOkOdwB ITYUqxW8x12N0oGAAgAAQAAAA== ```
Author
Owner

@big-chen commented on GitHub (Oct 10, 2016):

I managed to update the erroneous vCard, but anyway, the bug could be fixed...

Thanks!

<!-- gh-comment-id:252552431 --> @big-chen commented on GitHub (Oct 10, 2016): I managed to update the erroneous vCard, but anyway, the bug could be fixed... Thanks!
Author
Owner

@aluxnimm commented on GitHub (Oct 10, 2016):

Ok it is just missing the ENCODING=b subproperty. Nothing we can fix here, when the server sends an invalid vcard and we can't deserialize it, we can only throw an exception and ignore it.

Should be:
KEY;TYPE=X509;ENCODING=B:<base 64 data>

<!-- gh-comment-id:252578260 --> @aluxnimm commented on GitHub (Oct 10, 2016): Ok it is just missing the ENCODING=b subproperty. Nothing we can fix here, when the server sends an invalid vcard and we can't deserialize it, we can only throw an exception and ignore it. Should be: KEY;TYPE=X509;ENCODING=B:<base 64 data>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/outlookcaldavsynchronizer#169
No description provided.