是否正确理解,为了使用例如 Java 进行加密? Cipher
,我必须选择一个外部提供程序来设置,即 JDK 没有附带并包含一个“默认”提供程序?
最佳答案
这取决于您的 Java 版本。从 Java 1.4 开始,JCE 默认包含在可用的默认提供程序堆栈中。在 {$JRE_HOME}/lib/security/java.policy
中查看您的默认提供程序。你会看到类似的东西
List of providers and their preference orders (see above): 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=sun.security.mscapi.SunMSCAPI
它代表默认的提供程序堆栈(顺序在这里很重要)。
关于java - JDK 中的加密提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19076059/