I must admit I don’t have a lot of practice with C debuggers, so I haven’t examined the structure yet, but I did try upgrading to the latest 1.2.24 as well as downgrading back to 1.2.16. Both of those versions also exhibit this behavior. (I deleted entirely the previous version before compiling and linking with the replacement, so I know it was using the expected version).
Then, the next step I took was to boil it down to the most basic possible example. I downloaded your code from this link: https://www.aleksey.com/xmlsec/api/xmlsec-decrypt-with-keys-mngr.html#xmlsec-example-decrypt2 changed only the use of DES keys to AES keys. Dropped my encrypted xml packet in a file and then ran the code with the file and key. The same exact behavior occurred. Very odd. This should now be a vanilla install and Centos7 VM with a vanilla example. I compiled with this $ /usr/bin/gcc -I/usr -I/usr/include/libxml2 -I/usr/local/iamadmin/xmlsec/include/xmlsec1 -L/usr/lib64 -L/usr/local/iamadmin/xmlsec/lib -lxmlsec1 -lxmlsec1-openssl -lxslt -lxml2 -lcrypto -DXMLSEC_CRYPTO_OPENSSL decryptstd.c and ran with this. $ export LD_LIBRARY_PATH=/usr/local/iamadmin/xmlsec/lib $ a.out encrypted_data.xml ~iamadmin/dev_common/goldenpr/.sorkeys/symkey_GDS Error: decryption failed Decrypted XML data: <?xml version="1.0"?> <Ping/> I also added one print statement within the failure block to print the document anyway despite the failure, and it shows the document was decrypted even though encCtx_>result is null. I have a coworker who I hear also had this problem with a similar system and hacked around it by just taking the buffer contents from the xmlSecEncCtxDecryptToBuffer function if it isn't null and scanning the original document for the key name. I’d rather not resort to that if I can use the API as designed. But he is also more experienced with C debuggers and we could take a look at the encCtx structure when he gets back next week. Sorry if I’m taking up too much bandwidth on the list. I hope I’m onto something that will end up being a potentially useful bugfix rather than just missing something stupid. Regards, Russ. ========================= Russell Beall | Systems Programmer IV Enterprise Identity Management | University of Southern California (213) 740-7221 | be...@usc.edu<mailto:be...@usc.edu> On Jun 8, 2017, at 3:53 PM, Russell Beall <be...@usc.edu<mailto:be...@usc.edu>> wrote: Ok, thanks. I’ll try those ideas. Regards, Russ. ========================= Russell Beall | Systems Programmer IV Enterprise Identity Management | University of Southern California (213) 740-7221 | be...@usc.edu<mailto:be...@usc.edu> On Jun 8, 2017, at 3:51 PM, Aleksey Sanin <alek...@aleksey.com<mailto:alek...@aleksey.com>> wrote: Hm... next idea is that some compilation flags are different. Basically what you describe looks like your code is looking at the wrong places in encCtx struct because it looks different. I would go into debugger and examine the memory block for encCtx to see how it looks like. Another approach is to recompile (the lastest) xmlsec version and see if it solves the problem. Aleksey On 6/8/17 3:47 PM, Russell Beall wrote: Yes, the includes point to /usr/include/xmlsec1 and there is only one installation of xmlsec on the box installed via yum. $ yum info xmlsec1 Loaded plugins: auto-update-debuginfo, fastestmirror, langpacks, verify Loading mirror speeds from cached hostfile Installed Packages Name : xmlsec1 Arch : x86_64 Version : 1.2.20 Release : 5.el7 Size : 555 k Repo : installed From repo : base Summary : Library providing support for "XML Signature" and "XML Encryption" standards URL : https://urldefense.proofpoint.com/v2/url?u=http-3A__www.aleksey.com_xmlsec_&d=DwIDaQ&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=GZq8AbZkmDZnHhY_emMoUA&m=wlYaqIJM27mvlCJIVYuW4l0Odsgx_qawVLtTbdu2h8I&s=sG2W-Vo4Ho-WqcECYXdPwIh9LaFoEqaKoJjAclYIOQ4&e= License : MIT Description : XML Security Library is a C library based on LibXML2 and OpenSSL. : The library was created with a goal to support major XML security : standards "XML Digital Signature" and "XML Encryption”. There may be a potential conflict with gsoap where the python and soap libraries seem to be clashing on defines. These may be affecting the internals: /usr/include/python2.7/pyconfig-64.h:1188:0: warning: "_POSIX_C_SOURCE" redefined [enabled by default] #define _POSIX_C_SOURCE 200112L /usr/include/features.h:168:0: note: this is the location of the previous definition # define _POSIX_C_SOURCE 200809L This is a python plugin that receives encrypted XML packets via gsoap. Regards, Russ. On Jun 8, 2017, at 2:25 PM, Aleksey Sanin <alek...@aleksey.com<mailto:alek...@aleksey.com> <mailto:alek...@aleksey.com>> wrote: Hm... Can you make sure the library you are using matches the header files you are compiling with? Aleksey On 6/8/17 1:55 PM, Russell Beall wrote: Hello, First, thank you for all the help I’ve seen flowing through this list over the years. I haven’t had many questions since our code has just been sitting there working most of the time, but it has been nice to see an active community on this product. I’m working on upgrading to xmlsec 1.2.20 on CentOS 7. I’m porting a functioning usage of xmlsec from Solaris using xmlsec 1.2.16. The ported code is practically identical to the online tutorial examples, but for some reason on this updated system, the decryption engine is not producing the data in the encCtx object, even though it is successfully decrypting the XML packet. The output of the document shows this before the decryption: <?xml version="1.0"?> <EncryptedData xmlns="https://urldefense.proofpoint.com/v2/url?u=http-3A__www.w3.org_2001_04_xmlenc-23&d=DwIDaQ&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=GZq8AbZkmDZnHhY_emMoUA&m=1AGkTwrp5nWha7lyn0bYHX4bM0IttToIxnlHQGKlbKE&s=-Xwog9L_-70gnLriXpRfsfcT53My74h4l9nz4LDiav4&e= " Type="https://urldefense.proofpoint.com/v2/url?u=http-3A__www.w3.org_2001_04_xmlenc-23Element&d=DwIDaQ&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=GZq8AbZkmDZnHhY_emMoUA&m=1AGkTwrp5nWha7lyn0bYHX4bM0IttToIxnlHQGKlbKE&s=n7wOqJl6BkmU1WHOR5aNtn18_k1ceTxMSUW1AicxD00&e= "> <EncryptionMethod Algorithm="https://urldefense.proofpoint.com/v2/url?u=http-3A__www.w3.org_2001_04_xmlenc-23aes128-2Dcbc&d=DwIDaQ&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=GZq8AbZkmDZnHhY_emMoUA&m=1AGkTwrp5nWha7lyn0bYHX4bM0IttToIxnlHQGKlbKE&s=dd-dzD0_VFSpcwn_SGNp3aAR9UweqZXV2m2nUcdGaFA&e= "/> <KeyInfo xmlns="https://urldefense.proofpoint.com/v2/url?u=http-3A__www.w3.org_2000_09_xmldsig-23&d=DwIDaQ&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=GZq8AbZkmDZnHhY_emMoUA&m=1AGkTwrp5nWha7lyn0bYHX4bM0IttToIxnlHQGKlbKE&s=nT1UEj-K2M3303ZeBQ8PwTKCzd1dFIQyikCF39ybEqs&e= "> <KeyName>symkey_GDS</KeyName> </KeyInfo> <CipherData> <CipherValue>N6BDPUv1BIz88n1IL64aTkiShimUMWnZ+c5bVHDMxEs=</CipherValue> </CipherData> </EncryptedData> And shows this after the decryption: <?xml version="1.0"?> <Ping/> But leaves this data in the encCtx object suggesting that the decryption process did not work: encCtx->result: 0 encCtx->encKey: 0 encCtx->resultReplaced: 0 Besides needing to see the a non-null result status, I also need a non-null encKey object so I can pull the name of the key for use later in encrypting the response packet. Is there something I’m missing about this? Or maybe something peculiar to CentOS 7? Doesn’t seem like much would have changed between xmlsec 1.2.16 and 1.2.20. Thanks for any help! Regards, Russ. ========================= *Russell Beall | *Systems Programmer IV Enterprise Identity Management | University of Southern California (213) 740-7221 | be...@usc.edu<mailto:be...@usc.edu> <mailto:be...@usc.edu> <mailto:be...@usc.edu> _______________________________________________ xmlsec mailing list xmlsec@aleksey.com<mailto:xmlsec@aleksey.com> <mailto:xmlsec@aleksey.com> https://urldefense.proofpoint.com/v2/url?u=http-3A__www.aleksey.com_mailman_listinfo_xmlsec&d=DwIDaQ&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=GZq8AbZkmDZnHhY_emMoUA&m=1AGkTwrp5nWha7lyn0bYHX4bM0IttToIxnlHQGKlbKE&s=5ignWrNrPf6_n_D9cghpaTcszAnGOqzkesdtRUVGv1E&e= _______________________________________________ xmlsec mailing list xmlsec@aleksey.com<mailto:xmlsec@aleksey.com> https://urldefense.proofpoint.com/v2/url?u=http-3A__www.aleksey.com_mailman_listinfo_xmlsec&d=DwIGaQ&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=GZq8AbZkmDZnHhY_emMoUA&m=yjzCQdXNzdU8z7n2-FMBCbA5QAGxAtBULB4oD560OoI&s=w9IMkmVCZwki3XkcR0LXk0cALiRv9LLBudmXSXfM_eE&e=
_______________________________________________ xmlsec mailing list xmlsec@aleksey.com http://www.aleksey.com/mailman/listinfo/xmlsec