通过提供加密文件来保护您的秘密安全
一旦你把你的内容上传到Bintray的私有存储库中,通过Bintray对用户、组织和团队的管理,它是相当安全的。但是当您需要将私人文件发送给其他人时会发生什么呢?签署的url给你们一个简单的方法。生成URL签名密钥并使用URL签署API调用来创建URL。您甚至可以使URL只在有限的时间内有效。现在您所需要做的就是将URL发送给正确的人。
但是,如果URL或下载的文件落入坏人之手会发生什么?突然之间,包含许可证密钥/敏感公司信息/任何其他你非常想要保密的文件就暴露了。
好吧,不用再担心了。现在,Bintray可以保护你免受这种不必要的暴露。
动态文件加密
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 <解密后的文件名输出>
该工具将提示您的客户输入秘密,然后继续解密文件。
这样才能保守秘密。享受吧!
