我正在嘗試在項目中使用python-saml工具包(或其中的部分代碼),但遇到一些問題,我將嘗試解決此問題。在我的本地計算機(ubuntu 18.04)中,我啟動并運行了所有程序,但是在centOS計算機中安裝它時,我遇到了幾個問題。我正在使用(必須使用)的發行版是CentOS 6.8。我構建了所需的所有rpm軟件包(依賴項)并安裝了它們。我在python-saml代碼的以下行中收到錯誤信息:“無法加載證書”:sign_key.loadCert(file_cert.name, xmlsec.KeyDataFormatCertPem)此loadCert函數是dm.xmlsec.binding軟件包的一部分。所以我檢查了這個功能,就是這樣:def loadCert(self, char *filename, xmlSecKeyDataFormat key_data_format): """load certificate of *key_data_format* from *filename*.""" cdef int rv with nogil: rv = xmlSecCryptoAppKeyCertLoad(self.key, filename, key_data_format) if rv < 0: raise Error("failed to load certificate", filename, rv)好吧,我想這個問題只能存在于“ xmlSecCryptoAppKeyCertLoad”中,因此我檢查了該函數,該函數屬于XMLSEC庫,并定義為:int xmlSecCryptoAppKeyCertLoad(xmlSecKeyPtr key, const char* filename, xmlSecKeyDataFormat format) { if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoAppKeyCertLoad == NULL)) { xmlSecNotImplementedError("cryptoAppKeyCertLoad"); return(-1); } return(xmlSecCryptoDLGetFunctions()->cryptoAppKeyCertLoad(key, filename, format));}函數“ loadCert”的參數正確,正確的證書文件名和正確的格式。我在命令行中手動進行了嘗試,但遇到了同樣的錯誤(僅在centOS計算機中,Ubuntu中的一切正常)。知道可能是什么問題嗎?我將不得不了解正在發生的事情,但是如果有人可以幫助,那就太好了。提前致謝!對于這個問題并不重要,但以防萬一可能對其他人有幫助,我在紅帽機器中安裝dm.xmlsec.binding時遇到問題,我通過按照https://github.com/中的描述構建軟件包來解決了該問題。onelogin / python-saml / issues / 30,這意味著將/ usr / bin / xmlsec1-config文件更新為在“ --cflags”中包含“ -DXMLSEC_NO_SIZE_T”。
添加回答
舉報
0/150
提交
取消
