DBI を利用するいくつかの Perl スクリプトがあり、それらをクリーンアップして Rose::DB に変換しています。私の会社では、認証リソースの管理に Password Manager Pro (PMP) という製品を使用しています。PMP にはXML-RPC APIがあり、Rose::DB::Object が呼び出してデータベース リソースのパスワードを取得するモジュールを構築しようとしています。資格情報がクリア テキストとして保存されるのではありません。
RPC::XMLとXML::RPCを調べましたが、ssl のオプションが見つかりません。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;
どんな提案でも大歓迎です。