zoukankan      html  css  js  c++  java
  • Installing Eclipse Plug-ins from an Update Site with a self-signed certificate

    If you try and connect to a p2 repository on a server with a self-signed cert, you will more than likely hit the following error.

    Looking closely at the log, and you will see:

    javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
     at sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:397)
     at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
     at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:397)
     at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148)
     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:150)
     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121)
     at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:575)
     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:425)
     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
     at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:263)
     at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
     at org.eclipse.core.internal.jobs.Worker.run(Worker:53)

    Because this certificate was not issued by a ‘trusted’ source, and thus cannot be verified for authenticity, the transport layer rejects it.

    Solution:

    While Eclipse and p2 doesn’t offer any nice support out-of-the-box, you can easily get around this problem by installing the root certificate (or the certificate itself) into a truststore on your machine, and then use that truststore when starting Eclipse.

    To install a certificate into a custom trust store, simply:

    keytool -import -file D:GoagentlocalCA.crt -storepass changeit -keystore D:Javajrelibsecuritycacerts -alias goagent
    keytool -list -storepass changeit -keystore D:Javajrelibsecuritycacerts

    Now, when you start Eclipse, add the following arguments to your eclipse.ini file.

    -vm
    D:/Java/bin/javaw.exe
    -startup
    plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813
    -showsplash
    org.eclipse.platform
    --launcher.defaultAction
    openFile
    -vmargs
    -Xms512m
    -Xmx512m
    -XX:PermSize=256m
    -XX:MaxPermSize=256m
    -Dsun.lang.ClassLoader.allowArraySyntax=true
    
    -Djavax.net.ssl.trustStore=D:Javajrelibsecuritycacerts
    -Djavax.net.ssl.trustStorePassword=changeit

    When you connect to the update site (p2 repository), the transport layer will be able to validate the self-signed certificate. If the site requires authentication you will even be prompted for a username / password:

     

  • 相关阅读:
    zendstudio xdebug 配置
    一键清除cvs/svn 目录
    mysql 引擎区分
    ngnix 配置
    linux下mysql安装、目录结构、配置
    tomacat 配置ssl协议
    HTML中<title>与<h1>区别
    HTML中<strong>与<b>,<em>与<i>标签的区别
    bootstrap的总结1
    JavaScript的DOM(文档对象)基础语法总结2
  • 原文地址:https://www.cnblogs.com/sos-blue/p/3515835.html
Copyright © 2011-2022 走看看