I figured out a work around for this issue. I was suspicious that LWP::UserAgent could not reach the cert for the CA that signed the cert being presented by the web server. I learned there are some environment variables that I can leverage to influence where LWP::UserAgent looks even though it's being invoked down inside a program I don't want to touch. Adding my /etc/ssl/certs directory to the list of directories examined for certs solved the problem. <div>
<br></div><div><div><font face="'courier new', monospace"><b>root@linux:/opt/rt4/bin# </b>./rt-mailgate --debug --action=correspond --queue=ToDo --url=<a href="https://request.domain.com">https://request.domain.com</a> < ~/test.msg </font></div>
<div><font face="'courier new', monospace">./rt-mailgate: temp file is '/tmp/MqO8Gyi3SW/ILtfyOuDPb'</font></div><div><font face="'courier new', monospace">./rt-mailgate: connecting to <a href="https://request.domain.com/REST/1.0/NoAuth/mail-gateway">https://request.domain.com/REST/1.0/NoAuth/mail-gateway</a></font></div>
<div><font face="'courier new', monospace">An Error Occurred</font></div><div><font face="'courier new', monospace">=================</font></div><div><font face="'courier new', monospace"><br></font></div>
<div><font face="'courier new', monospace">500 Can't connect to</font></div><div><font face="'courier new', monospace"><a href="http://request.domain.com:443">request.domain.com:443</a> (certificate</font></div>
<div><font face="'courier new', monospace">verify failed)</font></div><div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace">./rt-mailgate: undefined server error</font></div>
<div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace"><b>root@linux:/opt/rt4/bin# </b>export PERL_LWP_SSL_CA_PATH=/etc/ssl/certs</font></div><div><font face="'courier new', monospace"><br>
</font></div><div><font face="'courier new', monospace"><b>root@linux:/opt/rt4/bin#</b> ./rt-mailgate --debug --action=correspond --queue=ToDo --url=<a href="https://request.domain.com">https://request.domain.com</a> < ~/test.msg </font></div>
<div><font face="'courier new', monospace">./rt-mailgate: temp file is '/tmp/rn88yVfFtr/IVe9YYO9IY'</font></div><div><font face="'courier new', monospace">./rt-mailgate: connecting to <a href="https://request.domain.com/REST/1.0/NoAuth/mail-gateway">https://request.domain.com/REST/1.0/NoAuth/mail-gateway</a></font></div>
<div><font face="'courier new', monospace">okTicket: 7698Queue: ToDoOwner: ran1Status: newSubject: testRequestor: <a href="mailto:robert.nesius@domani.com">robert.nesius@domani.com</a></font></div></div><div><br></div>
<div>Inspiration for the fix: </div><div><a href="http://colinnewell.wordpress.com/2011/03/11/ssl-host-checking-and-lwpuseragent/">http://colinnewell.wordpress.com/2011/03/11/ssl-host-checking-and-lwpuseragent/</a></div>
<div><br></div><div>Ultimately I suppose I can wrap rt-mailgate with a script that sets the environment variable and exec's rt-mailgate, or I could perhaps embed setting the environment variable along with the invocation of rt-mailgate in the aliases file. I'll figure something out. </div>
<div><br></div><div>-Rob</div>