我有几个使用 DBI 的 Perl 脚本,我正在清理它们并将其转换为 Rose::DB。我的公司使用名为 Password Manager Pro (PMP) 的产品来管理身份验证资源。PMP 有一个XML-RPC API,我正在尝试构建一个模块,Rose::DB::Object 将调用该模块来获取数据库资源的密码,而不是将凭据存储为明文。
我查看了RPC::XML和XML::RPC并且找不到 ssl 的选项。我在 Google 上搜索了一个基于 HTTPS 的 XML-RPC 示例,但没有运气。
我的大部分脚本都与数据库相关,到目前为止我还没有对基于 Web 的模块做太多事情。我希望有人可以推荐一个解决方案/示例,说明如何将以下 XML 传递到服务器并使用 SSL 证书标识自己:
<?xml version="1.0" encoding="utf-8"?>
<methodCall>
<methodName>pmp.password.retrieve</methodName>
<params>
<param>
<value><string>pmp-server</string></value>
</param>
<param>
<value><string>administrator</string></value>
</param>
</params>
</methodCall>
我使用以下内容开始了我的模块,但是如果没有将 ssl 呈现给服务器,它就不好了:
#!/usr/bin/perl
use XML::RPC;
my $certfile = /home/api/.ssl/pmp.p12; #Where to pass this?
my $xmlrpc = XML::RPC->new('https://pmp.local:7070/xmlrpc');
my @result = $xmlrpc->call( 'pmp.password.retrieve', {
resourceName => 'DBSERV',
userAccount => 'APITest',
reason => 'Test'
});
print @result;
任何建议帮助将不胜感激。