我已经设置了一个Debian存储库(实际上是Ubuntu),用于一些私有包的内部使用,现在我希望将它通过web提供给一些特定的服务器。我希望使用HTTPS连接到它,因为我不想花费任何钱,我使用的是一个自签署的证书。
我在指向apt-get的apt.conf手册页面中尝试使用我自己的根CA证书来验证主机,但它似乎不起作用。
我的apt.conf文件如下所示:
#Acquire::https::repo.mydomain.com::Verify-Peer "false";
Acquire::https::repo.mydomain.com::CaInfo "/etc/apt/certs/my-cacert.pem";
Acquire::https::repo.mydomain.com::SslCert "/etc/apt/certs/my-cert.pem";
Acquire::https::repo.mydomain.com::SslKey "/etc/apt/certs/my-key.pem";
我还使用了一个客户端证书,但它似乎不是一个问题,因为当我将everything设置为"false“(上面的注释)时,一切都正常。
使用相同的CA证书,客户端证书和密钥很好地与curl一起工作。
我启用了apt调试(Debug::apt::https "true"),但它提供的信息很少。
对如何进行有任何建议吗?
发布于 2012-02-05 13:48:08
希望这对其他人有所帮助--我一直无法直接解决这个问题。
作为解决办法,我现在正在使用stunnel4创建一个通往HTTPS存储库的隧道。自签署证书和客户证书--我和stunnel4合作得很好.
我已经在localhost:8888上设置了侦听传入连接的特技,并将它们指向我的repo (repo.mydomain.com:443)。我已经准备好在http://localhost:8888/查找我的存储库了。
到目前为止,虽然这似乎是一次不必要的黑客攻击,但效果一直不错。
发布于 2011-12-14 14:54:45
我不使用客户端身份验证,只使用HTTPS,但我只能使用以下方法来工作:
Acquire::https {
Verify-Peer "false";
Verify-Host "false";
}
我把这个放进文件里了,/etc/apt/apt.conf.d/90sslverify
。
发布于 2013-12-13 07:47:09
最近,我遇到了一个类似的问题。我通过添加SslForceVersion
选项来解决这个问题。
我的配置就像:
Acquire::https::test.com {
Verify-Peer "true";
Verify-Host "true";
CaInfo "/tmp/ca.crt";
SslCert "/tmp/client.crt";
SslKey "/tmp/client.key";
SslForceVersion "SSLv3";
};
https://serverfault.com/questions/340887
复制相似问题