Comments (6)
For the plugin, the P4PORT will need to start with ssl://
(such as ssl://perforce:1666
)
from p4ic4idea.
Thank you for your response. However, this does not help. Changing P4PORT to ssl://[ip_address]:1666
does not change the outcome; I still get the same error.
To be more specific: the behaviour is the same whether I use double slash or not, and in the Resolved Properties window P4PORT the double slash is always omitted (so it looks like in my original post, ssl:ip_address:1666
)
from p4ic4idea.
The configuration panel will show either "(hostname):(port)" or "ssl:(hostname):(port)" depending on whether you selected an SSL protocol.
This particular error message comes from Java's SSL library (javax.net.ssl.SSLPeerUnverifiedException
), whose documentation reads:
Indicates that the peer's identity has not been verified.
When the peer was not able to identify itself (for example; no certificate, the particular cipher suite being used does not support authentication, or no peer authentication was established during SSL handshaking) this exception is thrown.
I haven't seen this particular issue before. It looks like this is happening because Java's SSL connection code can't find the certificates reported by the server (calling SSLSession.getPeerCertificates()
):
This method can be used only when using certificate-based cipher suites; using it with non-certificate-based cipher suites, such as Kerberos, will throw an SSLPeerUnverifiedException.
Is the server set up to run in SSL mode, or are you running the connection through a proxy over SSL? I've only tested the plugin's SSL capability with the server (p4d) built-in SSL mode, so this may be a configuration that the code doesn't support. With more information, I can look into what it would take to support this setup.
For a deeper description of what you can use for SSL:
ssl:(hostname):(port)
uses the underlying P4Java library'sP4JRPCNTSSSL
implementation (the newer wire communication code).ssl://(hostname):(port)" and
ntss://(hostname):(port)will also use P4Java library's
P4JRPCNTSSSL`.javassl://(hostname):(port)
andjavas://(hostname):(port)
will use the P4Java library'sP4JAVASSL
implementation (the older wire communication code).
from p4ic4idea.
Thank you again for taking time to address this issue. Unfortunately, the problem persists regardless of the prefix I use (ssl, javassl, javas -- all generate the same error).
Our Perforce installation is quite standard, we don't have a proxy; I have verified that the certificate and private key are present on the server, also other tools (p4v, p4admin, etc.) work fine (as does command line p4 client).
I would be very happy to provide more information, please let me know what you need -- can I enable some logging of the communication with the server? Do you need some information about the Perforce installation?
from p4ic4idea.
To start with, would you post the stack trace from the IDE log? It's under the Help -> Show Log in (program name). Look for the stack trace that includes SSLPeerUnverifiedException
. I might be wrong about the source of the issue, and this will help me validate the source of the problem.
Do you know the version of p4d you are running? That can also help me try to replicate the issue.
from p4ic4idea.
Having the same issue.
This is what I'm seeing in my logs
2022-12-13 09:15:54,052 [77381395] WARN - #n.g.p.s.i.c.P4RequestErrorHandler - Running an action with the Perforce server server:{P4TRUST=<<trust path>>, P4PASSWD=(set), P4PORT=<<ssl:host:port>>, P4TICKETS=<<tickets path>>, P4USER=<<user>>, P4FINGERPRINT=(unset), P4LOGINSSO=(unset)} generated an error.
com.perforce.p4java.exception.SslHandshakeException: Error occurred while verifying the SSL peer.
at com.perforce.p4java.impl.mapbased.rpc.stream.RpcStreamConnection.initSSL(RpcStreamConnection.java:372)
at com.perforce.p4java.impl.mapbased.rpc.stream.RpcStreamConnection.initSocketBasedServer(RpcStreamConnection.java:272)
at com.perforce.p4java.impl.mapbased.rpc.stream.RpcStreamConnection.init(RpcStreamConnection.java:171)
at com.perforce.p4java.impl.mapbased.rpc.stream.RpcStreamConnection.<init>(RpcStreamConnection.java:161)
at com.perforce.p4java.impl.mapbased.rpc.NtsServerImpl.connect(NtsServerImpl.java:168)
at net.groboclown.p4.server.impl.connection.impl.SimpleConnectionManager.connect(SimpleConnectionManager.java:212)
at net.groboclown.p4.server.impl.connection.impl.SimpleConnectionManager.lambda$withConnection$2(SimpleConnectionManager.java:152)
at net.groboclown.p4.server.impl.connection.P4RequestErrorHandler.handleConnection(P4RequestErrorHandler.java:157)
at net.groboclown.p4.server.impl.connection.P4RequestErrorHandler.handle(P4RequestErrorHandler.java:71)
at net.groboclown.p4.server.impl.connection.impl.SimpleConnectionManager.lambda$handleAsync$6(SimpleConnectionManager.java:589)
at net.groboclown.p4.server.impl.connection.impl.SimpleConnectionManager.lambda$startPromise$8(SimpleConnectionManager.java:603)
at net.groboclown.p4.server.api.async.AsyncAnswer.lambda$background$0(AsyncAnswer.java:49)
at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:297)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
at java.base/sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:1034)
at com.perforce.p4java.impl.mapbased.rpc.stream.RpcStreamConnection.initSSL(RpcStreamConnection.java:329)
from p4ic4idea.
Related Issues (20)
- Cannot connect to the P4 server that requires P4HOST HOT 3
- Multiple Work-Spaces (streams) support HOT 4
- Version: 0.10.12 - P4 Plugin Error: Internal error: null when performing different actions HOT 3
- Edit VCS Directory Settings Shares Objects HOT 1
- Android Studio 3.6.1 can't open project anymore HOT 3
- Local Changed Diff View for Edited File Generates "null file spec in arguments" HOT 1
- Remove Support for IDE 181 and earlier HOT 3
- Update P4 Java API to v2019.1 HOT 1
- Instead of using default changelist, new changelist is created HOT 4
- Perforce Request Error HOT 16
- 'Modified without Checkout' does not take the ignore file into consideration. HOT 4
- Cannot annotate due to UnsupportedEncodingException: utf8-bom HOT 1
- no such file error for files in different path in a stream HOT 1
- Does this plugin support MFA when configured on the Helix server? HOT 1
- After change in perforce password, repeated authentication failed error is being returned HOT 1
- Perforce Plugin Crashes on latest version of IDEA HOT 1
- Unable to fetch changelists
- New VCS Root Requires "Check Configuration" to Save Settings
- Chinese characters not displaying properly in the plugin HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from p4ic4idea.