我试图在我的项目中使用pythonsaml工具箱(或其中的部分代码),但是在这个问题中我遇到了一些问题。在我的本地机器(Ubuntu18.04)中,我把所有的东西都准备好并运行,但是在centOS机器上安装时,我遇到了几个问题。我使用的版本(必须使用)是CentOS 6.8。我构建了我需要的所有rpm包(依赖项)并安装了它们。在python saml代码的下面一行中,我得到了一个错误“failed to load certificate”:
sign_key.loadCert(file_cert.name, xmlsec.KeyDataFormatCertPem)
装载功能是这个证书的一部分dm.xmlsec.绑定包裹。所以我检查了这个函数,就这样:
^{pr2}$好吧,我想问题只会出现在“xmlsecryptAppKeyCertLoad”中,所以我检查了这个属于xmlsecrit库的函数,定义为:
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.绑定在red hat机器中,我通过按照https://github.com/onelogin/python-saml/issues/30中描述的内容构建包来解决这个问题,这意味着更新/usr/bin/xmlsec1配置文件以包含“-dxmlsecu NO_SIZE_T”in“-cflags”。在
我通过从内存加载证书而不是从文件加载来解决这个问题。尽管如此,我还是不知道为什么在centOS 6.8中从文件加载不起作用(或者对我来说不起作用)
相关问题 更多 >
编程相关推荐