通过提供加密文件来保护你的秘密
一旦您将内容上传到Bintray私有存储库中,那么通过Bintray对用户、组织和团队的管理,就非常安全了。但是,当您需要将私人文件发送给其他人时会发生什么呢?签署的url给你一个简单的方法。生成您的URL签名密钥并使用URL签署调用API来创建URL。您甚至可以使URL仅在有限的时间内有效。现在您需要做的就是将URL发送给正确的人。
但如果URL或下载的文件落入坏人之手,会发生什么呢?突然间,包含许可证密钥/敏感公司信息/任何其他你非常想要保密的文件都暴露了。
好了,不用再担心了。宾托现在可以保护你免受这种不必要的暴露。
动态文件加密
Bintray现在可以加密你的文件,在它通过签名的URL下载之前。它是这样工作的:
- 将文件(通过网站手动或使用REST API)上传到您的私有存储库之一。
- 现在您可以生成将下载文件的签名URL。
还没有什么新东西,但事情是这样的。
现在,您还可以向签名的URL附加一个秘密,并告诉Bintray在下载文件之前对其进行加密。Bintray使用Aes 256 CBC加密,您可以提供自己的秘钥或要求Bintray为您创建一个。 - 现在,您可以通过另一种通信渠道向客户提供您的秘密。
- 一旦您的客户下载了该文件,他们就可以使用OpenSSL命令行使用密钥解密该文件。换句话说,它们需要签名的URL和密钥。
让我们看看它在行动
让我们假设我们在一个回购中有一个绝密的“message.txt”文件。我们将使用REST API来创建签名URL:
curl -X POST -H "Content-Type: application/json" https://bintray.com/api/v1/signed_url/bintray/repo/message.txt?encrypt=true——data " {"valid_for_secs": 3600, "secret": "my secret"} "200好了{“url”:“https://dl.bintray.com/bintray/repo/message.txt?expiry=1461681694199&id=fHObRX27TU3EEpjQYIj9HFhbthU % 2 bpkkd4ixkribkbyqvtfqlxp9tpuglk5xm3qe3&signature = nDt3t7Wj % 2 bp1b6chq3aet8iwaeowwuk66eqtp2tvgfa3afmsavr3irpuvkp3tx90iht2vmt9m1trjq6ijzivdsa % 3 d % 3 d"}
如果您不提供密钥,Bintray将为您创建一个并作为Http标头返回:X-Bintray-Secret。请注意,为了增加安全性,我们将URL的有效期限制为3600秒。
您的客户现在可以从返回的URL下载文件:
curl -o message.txt "https://dl.bintray.com/bintray/repo/message.txt?expiry=1461681694199&id=fHObRX27TU3EEpjQYIj9HFhbthU%2BPkkD4iXkRibKBYQvTFqlXP9tPUGlk5Xm3qE3&signature=nDt3t7Wj%2BP1B6chQ3AEt8iwaeowWuK66eQTP2tvgfa3AfmSAvR3IrPuVkP3tx90ihT2vMT9m1trJQ6IJZiVdSA%3D%3D"
您可以选择任何安全的方式向用户发送密钥。例如:电话或短信。
现在,要解密文件,您的客户可以使用OpenSSL:
$ openssl enc -aes-256-cbc -d -in <加密文件名> -out <解密文件名输出>
该工具将提示您的客户输入密钥,然后继续解密文件。
这就是你保守秘密的方法。享受吧!