从 hpux11.3 openssl 连接到 ftps instrinsic-TLS/SSL 的步骤

从 hpux11.3 openssl 连接到 ftps instrinsic-TLS/SSL 的步骤

非常针对 hpux11.31 的问题。作为 hpux 计算机上的 ftps 客户端,我需要使用内部 SSL/TLS 连接到 ftps 服务器。人们可能会说使用 filezilla 或 curl。我不是在寻找这些。我正在寻找一个人将运行以从 hp 设置客户端连接的步骤和 openssl 命令。

我看过很多网页讨论如何加载软件和运行特定命令。但我找不到一个网站能详细说明。

我现在猜得不太准,你也能看出它有多错。我制作了一个 CA 证书。我以某种方式获得了远程 ftp 站点的证书。我对他们的证书做了一些魔术。签名?信任它?转换为 pem 格式?我制作了一些 rsa 密钥。我运行 ftps -z,并填写了许多变量。我会神奇地得到一个登录提示。但对我来说呢?我得到了“警告!SSL/TLS 初始化失败。”

答案1

客户端证书还是服务器证书?思考尽管文档没有明确说明,但 CAfile 也适用于服务器 CA。

如果提高客户端的调试级别没有帮助,还可以考虑对会话进行数据包捕获。对此的分析将显示任何 TLS 对话。

文章中记录了一个完整的示例 HP-UX - FTPS:如何在 FTP 客户端上设置 FTPS,部分内容如下。

其中引用的 ftp 完整参考资料是WU-FTPD 2.6.1 发行说明,HP-UX 11i v1、HP-UX 11i v2、HP-UX 11i v3。祝您好运能够从中解密服务器 CA,它似乎与提供客户端证书的示例中混淆了。


使用命令行连接:

# ftp -z CAfile=/etc/ftp/security/cacert.pem <server> 

# ftp -z CAfile=/etc/ftp/security/cacert.pem \ 
-z cert=/home/user1/client-cert.pem \ 
-z key=/home/user1/client-key.pem <server> 

使用配置文件连接:

# vi /home/user1/.tls.conf 
CAfile=/etc/ftp/security/cacert.pem 
rsacert=/home/user1/certs/client-cert.pem 
rsakey=/home/user1/certs/client-key.pem 
# ftp -z config=/home/user1/.tls.conf <server> 

使用环境变量进行连接:以下是基本 FTPS 连接所需的最少变量。如果需要客户端证书进行身份验证,请务必添加其他适当的变量。有关详细信息,请参阅 WU_FTPD 发行说明。在环境变量文件中使用 to source 以将其保存在现有 shell 中非常重要。

# vi /home/user1/.ftps_envar.sh 
\#The following are the minimum options for ftps: 
export FTP_USESSL=1 
export FTP_SSL_CA_FILE=/etc/ftp/security/cacert.pem #CACert 

# cd /home/user1/ 
# . /home/user1/.ftps_envar.sh 
# ftp <server> 

FTPS 会话:

# ftp -z CAfile=/etc/ftp/security/cacert.pem MyFTPServerHostName.hp.com 

Connected to MyFTPServerHostName.hp.com. 
220 MyFTPServerHostName.hp.com FTP server (Revision 1.1 Version wuftpd-2.6.1(PHNE_38578) Fri Sep 5 12:10:54 GMT 2008) ready. 
234 AUTH TLS OK. ? TLS/SSL Authentication passed 
[TLSv1/SSLv3, cipher DHE-RSA-AES256-SHA, 256 bits] 
Name (0:root): 
331 Password required for root. 
Password: 
230 User root logged in. 
Remote system type is UNIX. 
Using binary mode to transfer files. 

ftp>status 
TLS/SSL protection of control connection: on. 
TLS/SSL protection of data connections: off. 

FTPS 故障排除

验证操作系统、WU-FTPD 和 SSL 版本。查看 ftpd 和 ftp CLI 选项。查看配置文件和/或环境变量内容。查看证书文件路径和文件权限。查看服务器系统日志文件。查看证书文件本身:

ftpd-rsa-ca.pem/cacert.pem #CAPubKey 
ftpd-rsa-cert.pem/newcert.pem #CAPubKey 
ftpd-rsa-key.pem/newkey.pem #SvrPriKey 
# openssl x509 -text -noout -in /etc/ftpd/security/cacert.pem |more 

调试:

# ftpd -v -l -z debug=2 -z logalldata 
# ftp -z debug=2 -z secure -z logfile=/tmp/ssl.log -z

答案2

你说你不喜欢 curl,但你没有用过 ftp,而且确实有适用于 HP-UX 的 curl 版本。你可以自己构建,但我建议使用现有的存储库,例如HP-UX 移植和存档中心

为什么要重新考虑 curl 这样的其他工具?它是一个功能齐全的客户端附有文件。使用 TLS 强制使用给定的 CA 证书非常简单,只需使用显式选项即可:

 curl --cacert ca.pem --ssl-reqd --dump-header ftp-log.txt  ftp://ftp.example.org/file.txt

关于假设:尽量不要假设事情会像宣传的那样,而是用其他工具测试它们。不幸的是,即使是企业软件也容易出现错误或用户界面不佳。这有时不仅适用于质量保证,也适用于系统管理员。

相关内容