【问题标题】:Installing Bouncy Castle on Mac在 Mac 上安装 Bouncy Castle
【发布时间】:2014-08-12 04:03:29
【问题描述】:

我对 Mac OS 或 Bouncy Castle/Encryption 完全不熟悉,因此我按照指南 here 并下载了 PGP-JDK1.5-1.7 版本的 Bouncy Castle jar。

我发出以下命令来查看 Java 的安装位置:

bash-3.2$ sudo find / -name "*.security"
Password: 
/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/MacOS/itms/java/lib/security/java.security
find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/security/java.security
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/security/java.security
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/security/java.security
/Users/fn.lastname/code/vault/security_java_jars_Aug11/java.security

然后我将 security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider 添加到 /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib /security/java.security 并将充气城堡 jar 添加到 /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/ext

修改后的java.security内容如下:

security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=sun.security.ec.SunEC
security.provider.4=com.sun.net.ssl.internal.ssl.Provider
security.provider.5=com.sun.crypto.provider.SunJCE
security.provider.6=sun.security.jgss.SunProvider
security.provider.7=com.sun.security.sasl.Provider
security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.9=sun.security.smartcardio.SunPCSC
security.provider.10=apple.security.AppleProvider
security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider

我去eclipse(STS)执行program here看Bouncy Castle是否安装成功。它只是返回“未安装 BC 提供程序”。

我在 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/security/java.security

的位置尝试了相同的操作

再次运行该程序,但没有成功。我还尝试在其他网站上进行谷歌搜索,这很有帮助。似乎对 Windows 有很好的支持,但对于 mac,我需要帮助来确定我是否使用了正确的 Java 版本。

请大家告诉我哪里可以感觉到问题?提前致谢。

【问题讨论】:

  • 谢谢@Rachael。我注意到我遇到了不适当的 jar 文件的问题。我已将 bcprov-jdk15on-151.jar、bcprov-ext-jdk15on-151.jar、bcpg-jdk15on-151.jar 设置到类路径中,但确实从 ext 位置删除了。我确实保留了对 java.security 的更改。我无法将每个 jar 文件一个一个地尝试到 ext 中,看看哪个是重要的,但对我来说 bcprov-jdk15on-151.jar 似乎是最重要的。
  • 这里是my answer 类似的问题。

标签: java eclipse macos cryptography bouncycastle


【解决方案1】:

Bouncy Castle 是一组库。提供者有一个核心库,称为jcprov-*。要使用(一部分)Bouncy Castle 核心加密,您需要使用签名的.jar 安装提供程序。这个.jar 是唯一包含提供者的一个。

bcpkix(ANSI X 标准 PKI)、bcpg(PGP)和bcmail(SMIME/CMS/PKCS#7)库是在 JCE 之上提供特定功能的独立库。您甚至可能不必为许多功能安装提供程序。它们本身不包含提供程序。

所以您可以直接使用.jar,如果需要,请下载包含提供程序的.jar 并将其放入您的类路径中...

【讨论】:

  • 我的回答有什么遗漏吗?
【解决方案2】:

我记得必须运行一个关键工具命令...

在这里找到它:

How Do You Configure BouncyCastle For Mac OSX Maverick

【讨论】:

  • 该命令只是通过 BC 提供程序运行 keytool 而无需安装它。
  • 尽量不要在 SO 上使用太流行的语言,这是一个问答网站,而不是 youtube。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-19
  • 2014-04-09
相关资源
最近更新 更多