我负责维护两台 Debian 服务器。每次我必须对安全证书做任何事情时,我都会谷歌搜索教程并击败它,直到它最终起作用。
然而,在我的搜索中,我经常遇到不同的文件格式(.key, .csr, .pem),但我从来没有找到对每种文件格式的用途的很好的解释。
我想知道 ServerFault 的好人是否可以就此问题提供一些说明?
我正在使用 Windows 并获得了一个 .cer 文件。我如何查看它的详细信息?
我想知道是否有任何证书支持双通配符*.*.example.com?我刚刚与我当前的 SSL 提供商 (register.com) 通了电话,那里的女孩说他们不提供类似的服务,而且她认为无论如何都不可能。
谁能告诉我这是否可行,以及浏览器是否支持?
我们有一台运行在 Windows Server 2008 上的 Exchange 2007 服务器。我们的客户端使用另一个供应商的邮件服务器。他们的安全政策要求我们使用强制 TLS。直到最近,这都运行良好。
现在,当 Exchange 尝试将邮件传送到客户端的服务器时,它会记录以下内容:
无法在连接器“默认外部邮件”上建立到域安全域“ourclient.com”的安全连接,因为对 ourclient.com 的传输层安全性 (TLS) 证书的验证失败,状态为“UntrustedRoot”。联系 ourclient.com 的管理员解决问题,或从域安全列表中删除域。
从 TLSSendDomainSecureList 中删除 ourclient.com 会导致使用机会性 TLS 成功传递消息,但这充其量只是一种临时解决方法。
客户是一家非常大的、对安全敏感的国际公司。我们的 IT 联系人声称不知道他们的 TLS 证书有任何变化。我曾多次要求他确定生成证书的机构,以便我对验证错误进行故障排除,但到目前为止他一直无法提供答案。据我所知,我们的客户可以用来自内部证书颁发机构的证书替换他们的有效 TLS 证书。
有谁知道手动检查远程 SMTP 服务器的 TLS 证书的方法,就像在 Web 浏览器中检查远程 HTTPS 服务器的证书一样?确定谁颁发了证书并将该信息与我们的 Exchange 服务器上的受信任根证书列表进行比较可能会非常有帮助。
我正在努力让我的Pelican 博客正常运行。它使用 lftp 将实际博客传输到某个服务器,但我总是收到错误消息:
mirror: Fatal error: Certificate verification: subjectAltName does not match ‘blogname.com’
Run Code Online (Sandbox Code Playgroud)
我认为 lftp 正在检查 SSL,而 Pelican 的快速设置只是忘记包括我的 FTP 上没有 SSL。
这是 Pelican 的 Makefile 中的代码:
ftp_upload: $(OUTPUTDIR)/index.html
lftp ftp://$(FTP_USER)@$(FTP_HOST) -e "mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"
Run Code Online (Sandbox Code Playgroud)
在终端中呈现为:
lftp ftp://username@blogname.com -e "mirror -R /Volumes/HD/Users/me/Test/output /myblog_directory ; quit"
Run Code Online (Sandbox Code Playgroud)
到目前为止,我管理的是,通过将 Makefile 更改为以下内容来拒绝 SSL 检查:
lftp ftp://$(FTP_USER)@$(FTP_HOST) -e "set ftp:ssl-allow no" "mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"
Run Code Online (Sandbox Code Playgroud)
由于我的错误实现,我正确登录 ( lftp username@myblog.com:~>) 但单行功能不再起作用,我必须手动输入镜像命令:
mirror -R /Volumes/HD/Users/me/Test/output/ /myblog_directory
Run Code Online (Sandbox Code Playgroud)
这没有错误和超时。问题是如何用单衬里做到这一点。 …
考虑一台装有 IIS7 的 Win 2008 SP2 机器。任务是将证书和主机名应用到这台机器上唯一的站点。网站的主机标题需要是abc.123.example.com
第一步是将 .pfx 安装到个人商店,这是成功的。
IIS7 发现证书可用,但不允许输入主机名。即使在选择我的证书之前,主机名文本框也总是被禁用/变灰。我什至删除了默认的 80 端口绑定。

问题:如何为该站点设置主机名?这个证书是通配符证书的问题吗?我了解到 SSL 请求进入 Web 服务器,并且数据包中的主机头是加密的。为什么 IIS6 允许指定主机头,而 IIS7 不允许?
更新:证书不是问题的一部分。我在机器上创建了一个新站点,在选择HTTPS绑定时,主机名称TextBox被禁用。
我的公司为基于服务器的产品分发 Windows 安装程序。根据最佳实践,它使用证书进行签名。根据Microsoft 的建议,我们使用GlobalSign 代码签名证书,Microsoft 声称默认情况下所有 Windows Server 版本都会识别该证书。
现在,这一切正常,除非服务器配置了组策略:计算机配置/管理模板/系统/互联网通信管理/互联网通信设置/关闭自动根证书更新为已启用。
我们发现我们的一位早期 beta 测试人员正在使用此配置运行,导致在安装过程中出现以下错误
无法安装所需的文件,因为 CAB 文件 [cab 文件的长路径] 具有无效的数字签名。这可能表明cabinet 文件已损坏。
我们认为这是一件奇怪的事情,毕竟没有人能够解释为什么系统是这样配置的。但是,现在该软件已可供一般用途使用,似乎有两位数(百分比)的客户使用此设置进行配置,而没有人知道原因。许多人不愿意改变设置。
我们已经为我们的客户写了一篇知识库文章,但我们真的不希望问题发生,因为我们实际上关心客户体验。
我们在调查这件事时注意到了一些事情:
所以,这里又是我的问题。为什么禁用根证书更新如此普遍?再次启用更新的潜在副作用是什么?我想确保我们可以为我们的客户提供适当的指导。
我有一个 PEM 文件,我将它添加到正在运行的 ssh-agent 中:
$ file query.pem
query.pem: PEM RSA private key
$ ssh-add ./query.pem
Identity added: ./query.pem (./query.pem)
$ ssh-add -l | grep query
2048 ef:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX ./query.pem (RSA)
Run Code Online (Sandbox Code Playgroud)
如何直接从文件中获取密钥的指纹(我在 ssh-agent 中看到的)?我知道ssh-keygen -l -f some_key适用于“普通”ssh 密钥,但不适用于 PEM 文件。
如果我在 .pem 文件上尝试 ssh-keygen,我会得到:
$ ssh-keygen -l -f ./query.pem
key_read: uudecode PRIVATE KEY----- failed
key_read: uudecode PRIVATE KEY----- failed
./query.pem is not a public key file.
Run Code Online (Sandbox Code Playgroud)
这个键开始于:
-----BEGIN RSA PRIVATE KEY-----
MIIEp.... etc.
Run Code Online (Sandbox Code Playgroud)
与“常规”私钥相反,它看起来像:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: …Run Code Online (Sandbox Code Playgroud) 我可以通过自己的 CA 创建并以这种方式生成自签名 SSL 证书。但是如何让浏览器将证书显示为“扩展验证 SSL 证书”?
我可以自己创建一个并教我的浏览器将其显示为 EV 吗?
我想有一个安全的连接,当我登录到我的 webmail、phpMyAdmin等时。
因此,我使用 OpenSSL 签署了自己的 SSL 证书,并告诉 Apache 侦听端口 443。
这实际上安全吗?我的所有密码是否真的通过安全可靠的层发送?如果我从Verisign购买 SSL 证书或签署我自己的证书,这有什么区别?在一天结束时,无论如何所有数据都将在我的服务器上。那么最大的区别是什么?
certificate ×10
openssl ×3
security ×2
ssl ×2
fingerprint ×1
ftp ×1
group-policy ×1
https ×1
iis ×1
iis-7 ×1
pki ×1
ssh ×1
subdomain ×1
tls ×1
verification ×1
wildcard ×1
windows ×1