Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
com.sun.net.ssl.internal.ssl.Provider()的遗留Java代码使用_Java_Ssl_Provider_Legacy - Fatal编程技术网

com.sun.net.ssl.internal.ssl.Provider()的遗留Java代码使用

com.sun.net.ssl.internal.ssl.Provider()的遗留Java代码使用,java,ssl,provider,legacy,Java,Ssl,Provider,Legacy,我正在使用2003年的一些代码。有对以下类别的引用: new com.sun.net.ssl.internal.ssl.Provider() 它导致了一个错误: 访问限制:由于对所需库/library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home/jre/lib/jsse.jar的限制,无法访问类型提供程序 有人对使用此类的合适替代方案有什么建议吗?您可以在Eclipse首选项Java->Compiler->Errors/Warnings->

我正在使用2003年的一些代码。有对以下类别的引用:

new com.sun.net.ssl.internal.ssl.Provider()
它导致了一个错误:

访问限制:由于对所需库/library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home/jre/lib/jsse.jar的限制,无法访问类型提供程序


有人对使用此类的合适替代方案有什么建议吗?

您可以在Eclipse首选项
Java->Compiler->Errors/Warnings->弃用和受限制的API中将其转化为警告或非事件。请注意,正如其他人所说,这不是最佳做法,当您有其他选择时应避免使用。

大多数情况下,您实际上不需要自己创建或获取提供商实例。正如政府所说:

通用应用程序不应请求加密服务 来自特定提供商。即:

getInstance("...", "SunJCE");  // not recommended
    vs.
getInstance("...");            // recommended
此外,如果提供程序有重载参数,则它倾向于采用字符串或实例,但字符串(名称)可能更常见。(传递实例有时可能很有用,例如对于某些PKCS#11配置,但这并不常见。)

这应该是有用的


如果您确实想获得特定实例,可以使用
Security.getProvider(name)
。您将在提供者文档中找到合适的名称。

扔掉那行代码。同时扔掉对
com.sun.net.ssl
包及其子包的任何引用:修复导入,使它们引用
javax.net.ssl中的类。


这是JDK1.4之前的代码,从JSSE单独下载的时候开始。

我不知道那个类,但我可以阅读“ssl”。如果这是安全套接字层,请考虑很少有理由像这样手动地手动提供提供者。代码是什么?是的,你可以,但你通常不应该,至少在全球范围内不应该。为什么要否决这个?这是一种处理遗留代码的可行方法。作为一般性建议,我认为这很危险。作为一个临时解决方案,它可以是好的。我喜欢你的编辑并删除了否决票。