我对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版本。
你们中的任何人都可以让我知道我能在哪里发现问题吗?提前致谢。
答案 0 :(得分:0)
Bouncy Castle是一套图书馆。提供程序的核心库名为jcprov-*
。要使用Bouncy Castle核心加密(的一部分),您需要使用签名的.jar
安装提供程序。此.jar
是仅包含提供商的 。
bcpkix
(ANSI X标准PKI),bcpg
(PGP)和bcmail
(SMIME / CMS / PKCS#7)库是独立的库,提供特定的功能。 JCE。您甚至可能不必为许多功能安装提供程序。它们本身不包含提供者。
因此,您可以直接使用.jar
,如果需要,请下载包含提供程序的.jar
并将其放入类路径中...
答案 1 :(得分:-1)