Satis http基本身份验证证书


Satis http basic auth - pass credentials

我已经设置了satis私有composer包管理器。Satis运行在"packages.asc.company"上,我通过apache2 http基本身份验证保护了网站,并可以通过输入http基本身份证书在浏览器中打开它。

现在我的问题是:在运行例如"composer update"时,我如何向composer传递以最佳和最安全的方式访问satis网站的凭据?

目前,我在apache.htpasswd文件中只注册了一个有密码的用户,并且需要将其凭据传递到某个地方,才能从composer连接到satis。

有两种情况我需要从连接

1) 来自开发期间的项目

2) 来自詹金斯在持续整合过程中。


3) 编辑:SSL

我现在正试图在登录时使用openssl来保护凭据。在我的linux上,运行apache,我创建了一个私钥和一个.crt文件(请参阅:Apache SSL。在我的linux上,我现在可以用https打开satis软件包页面,甚至可以将http重定向到https,所有这些都可以工作(我使用自己的证书生成openssl,因为它是一个内部应用程序,我不需要可信的ca)。

现在,当我从Linux vm切换到我的Windows(我在这里编码),并尝试运行composer更新时,我会收到以下错误消息:(主机文件配置正确)

[Composer''Downloader''TransportException]"https://packages.asc.company/packages.json"无法下载文件:SSL操作失败,代码为1。OpenSSL错误消息:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败无法启用加密无法打开流:操作失败

我错过了什么?我对ssl还很陌生,但现在整天都在阅读有关它的信息,无法让它发挥作用。

从getcomposer satis网站,我有这些信息,但不知道如何使用它

{
 "repositories": [
    {
        "type": "composer",
        "url": "https://example.org",
        "options": {
            "ssl": {
                "local_cert": "/home/composer/.ssl/composer.pem"
            }
        }
    }
 ]
}

谨致问候。

有一个文档页面。

Composer将在Satis URL中添加用户名。对我来说,我只是想绕过本地网络中无用的默认密码服务器。有一个只读帐户,我用过它。

此外:公司中的每个开发人员都在存储库服务器上有一个帐户,而且在更安全地保护下载的ZIP文件方面没有多大用处。Composer本身目前不支持任何代码签名方法或哈希比较,因此无法知道包是否在存储位置或传输过程中被篡改。

根据文档,如果不在URL中提供凭据,Composer会要求提供凭据,或者您可以将凭据添加到auth.json中。另一方面:将明文密码保存在专用文件中听起来不是最好的主意,不使用HTTPS传输密码更糟糕。

你必须定义你想要什么样的安全。你想要防范的目标或威胁是什么?