【问题标题】:Loading and storing encryption keys from a config source从配置源加载和存储加密密钥
【发布时间】:2010-03-23 10:14:23
【问题描述】:

我正在编写一个具有真实性机制的应用程序,使用 HMAC-sha1,加上一个 CBC-blowfish 传递数据以获得良好的度量。这需要 2 个密钥和 1 个 ivec。

我看过 Crypto++,但文档很差(例如 HMAC documentation)。所以我要去oldschool并使用Openssl。使用库函数和工具生成和加载这些密钥的最佳方法是什么?我不需要安全套接字,因此 x.509 证书可能没有意义,当然,除非我遗漏了一些东西。

那么,我是否需要编写自己的配置文件,或者 openssl 中是否有任何基础设施?如果是这样,您能否指导我参考一些文档或示例。

【问题讨论】:

  • 是的,Crypto++ 文档充其量是 doxygen,最坏的情况是模糊不适合静态 html 页面。当您(最终)弄清楚如何使用它时,这是一个耻辱,它是一个很好的库。
  • 同意,并且补充一点,我第一次使用 openssl 时认为它的文档很糟糕,但与 Crypto++ 相比,源代码布局和函数命名约定非常直观,可以作为好的文档。加密文本和图书馆的映射在翻译中损失很小。

标签: c++ c encryption openssl configuration-files


【解决方案1】:

虽然它不能直接回答您的问题,但如果您将其视为您程序的一种复制保护方法,那么以下相关问题可能会引起您的兴趣。

【讨论】:

  • 谢谢你的链接,我会看的。该系统用于分发嵌入到 HTTP cookie 中的登录令牌,类似于 Kerberos 令牌。我个人会使用 Kerberos 和 webauth,而不是重新发明轮子,但我会按照我说的去做:P
【解决方案2】:

这是我要使用 atm 的解决方案。当然,除非有人提出了更好的方案,或者可以解决我的具体问题。

我将三个文件放在/etc/acme/auth/file1 file2 and file3 中,二进制文件随机生成两个键和ivec 的数字,并在Windows 中但在c:\etc\acme\auth 下执行相同操作。

【讨论】:

  • 我可以建议(对于 Windows)您在应用程序目录中使用子目录吗?没有什么比污染我的文件系统的应用程序更让我烦恼的了。 :-)
  • 该库将是一个 nginx 模块,也许我可以将它放在相对于 nginx 安装位置的目录下。我将不得不进一步调查,服务器很可能只能在 linux 下运行。
猜你喜欢
  • 2011-01-03
  • 1970-01-01
  • 2017-03-07
  • 1970-01-01
  • 2011-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多