签署Ruby gem:生成gem时是否会删除gemspec中的s.signing_key?

时间:2013-03-10 21:34:10

标签: ruby gem

我想签署一个Ruby gem并按照http://docs.rubygems.org/read/chapter/21中的说明进行操作 它说,“隐藏你的私钥”。 但是为了签署gem,我们必须在gemfile中加入“s.signing_key ='/ mnt / floppy / gem-private_key.pem'”。 如果在生成gem之后没有删除这一行,那么每个人都可以在从RubyGems.org安装gem之后看到它。 (并不是说他们可以轻松访问我的电脑,但仍然。) 生成gem时,该行是否会自动从gemspec中删除?

我通常通过Bundler的“rake release”构建gem。所以这一次我尝试了“gem build mygem.gemspec”。但它导致了一些OpenSSL错误。所以我无法检查生成的gem。

提前谢谢你。

1 个答案:

答案 0 :(得分:2)

不,您的gemspec中的signing_key条目不会被删除。它将是公开的,因此人们将能够看到您的签名密钥的文件位置。

正如您所提到的,这并不意味着人们可以访问它,但是如果他们可以访问您的系统,他们就会知道它会在哪里。

您可以使用gem unpack命令导出已安装宝石的内容,以准确检查gemspec中发布的内容以及gem:

gem unpack GEMNAME

希望这有帮助!