java – 使用Eclipse连接到网络
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 使用Eclipse连接到网络,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1556字,纯文字阅读大概需要3分钟。
内容图文
![java – 使用Eclipse连接到网络](/upload/InfoBanner/zyjiaocheng/767/b27b8ad1005b4568955fbba9f6c39914.jpg)
我想将我的Eclipse插件连接到HTTPS URL,但是有问题,因为用户需要接受证书.当然有一些tutorials for how to do this in plain Java,但在Eclipse插件中可能很难做到,我想我会以这种方式重新发明轮子.
因为Eclipse有一些内置工具可以连接到具有不同网络协议的站点.一个例子是“安装新软件……”操作.该工具甚至还有一个单独列出HTTPS的preference page.
根据Eclipse Help,KeyStore“用作进行SSL连接时用于信任决策的证书的存储库”.但我无法弄清楚如何使用它.
所以我的问题是:如何使用Eclipse的构建工具连接到我的HTTPS站点?
解决方法:
基于this answer here,我构建了自己的插件,在其EarlyStartup中只加载了我需要的一个证书(幸运的是):
public class EarlyStartup implements IStartup {
private static final String ALIAS = "ACME";
@Override
public void earlyStartup() {
final char[] passphrase = "changeit".toCharArray();
final char separator = File.separatorChar;
final File dir = new File(System.getProperty("java.home") + separator + "lib" + separator + "security");
final File file = new File(dir, "cacerts");
try (InputStream certIn = getClass().getResourceAsStream("acme.org.crt");
final InputStream localCertIn = new FileInputStream(file);) {
final KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
keystore.load(localCertIn, passphrase);
if (keystore.containsAlias(ALIAS)) {
return;
}
final CertificateFactory cf = CertificateFactory.getInstance("X.509");
final Certificate cert = cf.generateCertificate(certIn);
keystore.setCertificateEntry(ALIAS, cert);
try (OutputStream out = new FileOutputStream(file)) {
keystore.store(out, passphrase);
}
} catch (final Exception e) {
e.printStackTrace();
}
}
}
内容总结
以上是互联网集市为您收集整理的java – 使用Eclipse连接到网络全部内容,希望文章能够帮你解决java – 使用Eclipse连接到网络所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。