Invalid TLS Certificate when connecting Mylyn to Gitlab issues - eclipse

I had finally founded a solution to connect Mylyn to Gitlab's Issues in this question.
It all worked well. But a few months since I had all configured out it doesn't work anymore. I'm getting this error when trying to connect:
Invalid TLS Certificate: You can disable certificate checking by setting ignoreCertificateErrors on GitlabHTTPRequestor
Anyone know how I can get rid of this message ? There is no ignoreCertificateErrors option in the preferences neither the plugin has any such configuration ?
Do I have to put somethig in the ini file ? How I set ignoreCertificateErrors ?
Edit
The commands VonC gave have worked. But now I got another error:
Unknown Exception: java.io.FileNotFoundException: https://git.company/api/v3/projects?private_token=whatever
I put this url in the browser, and got the following json:
{"error":"API V3 is no longer supported. Use API V4 instead."}
So I changed the url to:
https://git.company/api/v4/projects?private_token=whatever
and the data loaded correctly. So I guess this is a problem with the connector using an outdated api. This link:
https://github.com/pweingardt/mylyn-gitlab/issues/47
tells me I probbly will have to wait a bit. I' couldnt find any configs or files where I can change this url.
But my original question was for the TLS problem which was solved, so I'll consider the question answered by VonC.
But if someone knows how could I solve this new problem in order to really get to he end of this by connecting with the site feel free to add aditional answers.

This is probably linked to GitLab move to GCP (Google Cloud Platform)
Try and add it to your JDK keystore (the JDK used to run your Eclipse: it could be the embedded jdk, or one on your system)
First get the new certificate:
echo -n | openssl s_client -connect git.company:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > gitlab.chain.pem
(replace git.company by your GitLab server domain name)
Then add it to your JDK
cd /path/to/jdk
jre/bin/keytool -keystore jre/lib/security/cacerts -storepass changeit -import -trustcacerts -file gitlab.chain.pem -alias NewGitLab
Launch your Eclipse again, and try your Mylyn connector.
Note: I confirm that, since GitLab 11.0 (July 2018), the API v3 is no longer supported. Only v4.
See issue 36819.

I finally made it work. Steps:
First make sure you have the JDK and maven installed in your machine, working properly and have followed the instructions VonC gave in his answer. You should install JDK BEFORE following VonC instructions.
Clone this github repo: https://github.com/timols/java-gitlab-api
Cd to the folder where you cloned it and run mvn clean verify. It will create a target folder with a file named java-gitlab-api-4.0.1-SNAPSHOT.jar in it.
Clone this github repo: https://github.com/scriptninja/mylyn-gitlab
Put the java-gitlab-api-4.0.1-SNAPSHOT.jar file in de.weingardt.mylyn.gitlab.core/lib folder.
Goto to the folder where you cloned mylyn-gitlab and run mvn clean verify again
When the build ends there should be a folder called de.weingardt.mylyn.gitlab.updatesite/target/repository
Go to eclipe->help menu->installation details and uninstall any previous "Mylyn gitlab connectors" you had installed (if any)
Go to eclipse->help menu->Install new software->Add and put <your complete folder path>/de.weingardt.mylyn.gitlab.updatesite/target/repository in the Location field. You can put anything you want in the Name field.
Select the repository you just added in "Work with:" selection.
An entry called "Mylyn connectors" should appear below.
Install it and it's done. You can add your new working connector in Mylyn. Then just connect to the repository using the normal connection process.
If you have any problems connecting after this, check the SO link I mention my question, (this one). It has some interesting info there.
Hope it helps. Thanks to VonC for giving me the first step I needed to solve this. :)
Edit
My environment: Java 8, Ubuntu 16.04 64 bits and Eclipse Oxygen

Related

Issue with the proxy settings when installing Eclipse

I have the same issue with Eclipse (Neon 4.6 eclipse installer by Oomph 32 bit) as in this question and as explained there I have downloaded the automatic configuration script (the script is set up through the Group Policy so I can’t change my LAN settings) that my browser is using. I used the host and port in the return statement and did as explained below
Select the "HTTP" line and click the edit button
Add the IP address and port number above to the http line:
Does anyone know what else I can try because I am still getting a network problem message?
Your help will be appreciated
Proxy Network problem message:
I have changed the active provider to Manual and retried again, then it worked.
I installed an old version and it's worked well.
this is the link for the old version:
https://www.eclipse.org/downloads/packages/release/oxygen/2
You can download a zip file of the Eclipse package you want and explode it in your filesystem where you want it,
Here is link for Eclipse package for windows:
https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2021-06/R/eclipse-java-2021-06-R-win32-x86_64.zip&mirror_id=17
Or select another package here:
https://www.eclipse.org/downloads/packages/
For me, I had similar issues to this that related to my office network and their use of a security tool called Netskope which needed its root-certificate into the jvm that would be used by the Eclipse installer. I elaborated on my workaround steps in this other thread:
https://stackoverflow.com/a/69171147/1302220

Eclipse and EGit: Can't export SSH

I tried to set up a ssh connection in order to be able to pull git repositories with EGit in Eclipse via ssh. (I'm using Eclipse Luna).
For this I used instructions given on the Eclipse Wiki.
I went to Eclipse --> Windows --> Preferences --> General --> Network Connection --> SSH2 --> Key Management --> Generate RSA Key
and tried to export the key via the "Export via SFTP" Button. I entered
githubID#git.eclipse.org but instead of exporting my key, an error appeared on top of the window ("failed to export ssh key to remote server")
I did the whole process a few month ago (that worked) and only wanted to redo this, because pulling my repository caused an error.
Old pull Error:
ssh://githubID#git.eclipse.org/gitroot/myproject.git: Session.connect: java.io.IOException: End of IO Stream Read
I have read about an update of EGit and updated it as well as trying the whole process on a new laptop, but the error also occurs in the new laptop with a new Eclipse.
Does anybody knows a solution for my problem? Thank you in advance!
Finally I ended up asking the Eclipse Webmaster for help.
As my IP address hasn't been blocked (This might have been a solution!) I tried to use the Git Bash instead of EGit and that's worked! So it wasn't a problem with my ssh key, but with the Client, which seems to be broken.
It's more work to do all git commands manually, but finally it works.
It seems to be a bug in older versions of eGit.
Related: https://www.eclipse.org/forums/index.php/t/1096174/
However, the most recent versions of eGit are not compatible with Eclipse Luna any more.
For me, upgrading eGit to version 5.0.3, the last version compatible with Eclipse Luna by manually downloading eGit from here http://archive.eclipse.org/egit/updates-5.0.3/ and installing it from local solved the problem.

STS unable to find certification

I have downloaded the latest version of spring tool suite (STS 3.6.2), when I tried to import spring getting started content, it return as below error:
Get started Guide
SunCertPathBuilderException: unable to find valid certification path to requested target
I have setup the proxy to visit internet, but I don't know how to import certifications in STS.
Please help.
Thanks.
James
I encountered the same problem and tried this:
Window -> Preferences -> Network Connections Change mode to Manual
It works fine now.
Go to the Windows -> Preferences -> General -> Network Connection
select the Active Provider option: Manual
then Click on Apply Button
It will be work
Find the file named “openssl.cnf”. Just delete it or rename it.
If you're using Ubuntu you can run the following command in the terminal:
sudo update-ca-certificates -f
Source: Ubuntu Manpage
If still not getting. Then remove s from https://start.spring.io. It should look like Click here
The above image is referred from spring tool suite official website. When you install a new sts it automatically adds secure connection. Hence we can access to that website currently with out secure only.
The default url i had was: https://start.spring.io
When i removed the 's' --> http://start.spring.io
Then it worked.
I guess it is to do with my network settings

'cannot open git-upload-pack' error in Eclipse when cloning or pushing git repository

I am not able to clone or push to a git repository at Bitbucket in Eclipse:
It's weird, because a day before I didn't have any problem. I have downloaded the sts 3 times with no luck. This error keeps showing. Also I have installed SourceTree and it says 'This is not a valid source path / URL':
If I use git commands to import the project, it works, but I wan't to use EGit for this task, since I am a newbie with git.
I don't know if this has to do with it, but in the same directory I have the android-adt-bundle. This one works pretty well, but the project lies on GitHub and not Bitbucket. Also, I'm working with another person and he is able to fetch and push data from and to the Bitbucket repository. I have read lots of posts but none of them have helped me out.
I'm using Windows 7 btw.
Might also be bad SSL cert, fix the server
If you have a GIT server with an outdated or self-signed SSL cert fix the server, afterwards everything should run fine.
Insecure Hotfix: Let the client accept any certificate
The following solution is just a mere hotfix on client side and should be avoided as it compromises security of your credentials and content. There is a detailed explanation for this in "How can I make git accept a self signed certificate?" which offers more complex and more secure solutions you can try out if the following works in general.
In my case it was Eclipse using a different storage for the git config as the command line does and thus not having the option
git config http.sslVerify false
set (which I set using command line for the repo for working with invalid/untrusted SSL cert).
Adding the option insides Eclipse immediately resolves the issue. To add the option
open preferences via application menu Window => Preferences (or on OSX Eclipse => Settings).
Navigate to Team => Git => Configuration
click Add entry..., then put http.sslVerify in the key box and false in the value box.
Seems to be a valid solution for Eclipse 4.4 (Luna), 4.5.x (Mars) and 4.6.x (Neon) on different Operating systems.
It happens due to the following Reasons:
1) Firewall.
2) Network Issues.
3) Proxy Settings Mismatch
4) Connected through different Router - which is not authorized within the network.
5) Git Proxy Authentication Details
Finally I made it work thanks to the steps outlined in the Eclipse forum:
Set up the SSH key stuff
Download and install mysys git according to the github instructions at http://help.github.com/win-git-installation/
In C:/Users/you/ssh hide any existing keys (id_rsa and id_rsa.pub) in a subdirectory. If the ssh directory does not exist, create it. Of course, "you" is your username as the OS knows you.
From the start menu, run Git-Bash command shell (a regular DOS command shell will not work).
In the Git-Bash shell generate an rsa key based on your email (the one you registered at github):
ssh-keygen -t rsa -C "you#wherever.com"
and enter your pass phrase and confirm when asked.
The previous step should have created C:/User/you/ssh/id_rsa.pub which you can now open in a text editor and copy. At github, go to account settings, SSH Keys, add a key and paste this in the key box.
In Git-Bash again (notice the back-ticks in the next line):
eval `ssh-agent`
ssh-add C:/User/you/ssh/id_rsa
ssh git#github.com
Here is what you just did: You ran the ssh-agent which is needed by ssh-add. Then you used ssh-add to make note of the location of your key. Then you tried to ssh to GitHub. The response to this last command should be that you have successfully authenticated at GitHub but that you don't have shell access. This is just an authentication test. If the authentication was not successful, you'll have to sort that out. Try the verbose version:
ssh -v git#github.com
Assuming this worked....
In Eclipse, configure the remote push
Window > Show View > Git > Git Repositories will add a repository explorer window.
In the repository window, select the repository and expand and right-click Remotes and choose Create Remote.
Copy the GitHub repository URI from the GitHub repository page and paste it in the URI box.
Select ssh as the protocol but then go back to the URI box and add "git+" at the beginning so it looks like this:
git+ssh://git#github.com/UserName/ProjectName.git
In the Repository Path box, remove the leading slash
Hit Next and cross your fingers. If your get "auth fail", restart Eclipse and try step 5 again.
When you get past the authentication, in the next dialog select "master" for source ref, click "Add all branches spec" and "Finish".
Instead of using SSH git#github.com I did it with SSH git#bitbucket.org.
Now I can push and import without any problem.
After struggling for a couple of hours, I found that git config file was not updated when I added the entry sslVerify = false in my Eclipse.
I solved my problem by navigating to my .git directory and updating the config file to :
[http]
sslVerify = false
I added -Dhttps.protocols=TLSv1.1,TLSv1.2 to eclipse.ini and it's working.
I use java 1.7
I had exactly the same issue with eclipse 2020-12. In Preferences->Git I changed "Http Client" to "Java built-in HTTP" and the issue is resolved.
One cause of this is having Fiddler2 configured to decrypt HTTPS traffic. Close Fiddler2 and it should work fine.
This issue can be caused when you have a local firewall which is preventing your application from being able to send any network traffic away from your machine. I.e. Outbound traffic or egress traffic rules.
Please try disabling your firewall for a quick test to see if this fixes your issue. If it does then setup the appropriate firewall policy for the application you are trying to use to push or pull to a git repository.
Recently I got same problem with existing repository.when I try to fetch from upstream not able Fetched object and got problems eclipse: cannot open git-upload-pack.
for me following solution work after adding TLS version in eclipse.ini file
Dhttps.protocols=TLSv1.1,TLSv1.2
For java7 need to add TLSv1.1 and for java8 need to TLSv1.2
Note: Need to restart eclipse once above configuration added.
In my case, it turned out that global proxy settings in "Preferences->Network connections" were interfering with git. Which is kind of confusing, because git has dedicated property for proxy configuration. Anyway, I've added repository host to "Proxy bypass" list and the problem was gone.
I faced "git-upload-pack not permitted" error in STS4 while fetching Bitbucket repository. I struggled for many many hours only to realize we need to use password generated with "Create app password" in Bitbucket (and not our own set password)
URL to generate password: https://bitbucket.org/account/settings/app-passwords/new
Use this password in "Clone a Git repository" in STS4
I just got this same error, "cannot open git-upload-pack", in Eclipse with a BitBucket repo trying to do a pull or a push.
I resolved it by switching local branches (Team/Switch To) to the master branch and doing a pull, and then switching back to the branch I was working on and pulling again.
I'm using Eclipse Kepler SR2 on Ubuntu 12.04LTS and was trying to access an internal GitHub using HTTPS.
Unfortunately, my underlying JVM with which Eclipse was started experienced problems with the self-signed certificate of the server. Switching to a different JVM for Eclipse got the HTTPS connection to our GitHub working.
Create a simple Eclipse starter that uses a different JDK, e.g. with OpenJDK:
/Eclipse_Kepler_4.4.2/eclipse -vm /usr/lib/jvm/java-6-openjdk-i386/jre/bin
I got the similar problem. I just followed the below steps
1. Team > Remote > Configure Fetch from upstream...
2. Provide the https: bit bucket uri then Save and Fetch.
3. Reset the latest commit in your project. Team > Reset > Select the latest commit from remote folder
4. Then synchronize the workspace. Team > Synchronize (in synchronize perspective)
5. Right click on project and overwrite the local copy.
6. Click on Pull icon.
The Solution to this in Eclipse Mars 4.5.2:
Window -> Preferences -> Team -> Git -> Repository Settings -> AddEntry
Key: http.sslVerify
Value: false
For those who still have this problem, and none of the above solutions worked for you:
Update your versions of java and Eclipse.
In my case, I updated from java 7 to java 9, and Eclipse Mars to Eclipse Oxygen, and this problem was solved !!!
Add https.sslVerify as false...when you use https connection for importing from git
I had a similar problem and a quick fix to your issue is to make sure that you set your JVM option in the eclipse.ini file to use jre7. Older Jre's come with an old local policy file and this will return errors. One quick note also is that you need to point to your javaw not java.
-vm
c:\PROGRA~2\Java\jre745\bin\javaw.exe
-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
-Dsun.lang.ClassLoader.allowArraySyntax=true
I had my proxy settings set up in Eclipse and wasn't connected via ssh, which was causing the error.
i've tried all those methods but it didn't work then a workmate told me that Putty Key Generator used to generate keys with 1024 bits but now Putty generate 2048 bits keys by default , so you just need to change the "Number of bits in a generated key" and it should work.
The problem can also be caused by wrong system time (by a couple of years), making the Git's certificate invalid.
I just changed the Network settings from Native to Manual, restart and the error is gone.
I'm using RAD 8.0.4.3 with and old version of EGit connected to TFS/Git. ;-)
I got this error message because I had a different user than what the repo expected in my git config.
This would obviously trigger the SSL Cert failures mentioned above.
Fixing to the correct user resolved this issue for me.
to fix SSL issue you can also try doing this.
Download the NetworkSolutionsDVServerCA2.crt from the bitbucket server and add it to the ca-bundle.crt
ca-bundle.crt needs to be copied from the git install directory and copied to your home directory
cp -r git/mingw64/ssl/certs/ca-bundle.crt ~/
then do this. this worked for me
cat NetworkSolutionsDVServerCA2.crt >> ca-bundle.crt
git config --global http.sslCAInfo ~/ca-bundle.crt
git config --global http.sslverify true
I finally solved this issue by disabling IPv6 on the network configuration
Screenshot of my network configuration
Note that I use a VPN connection. If you do too, you must restart it.
I'm pretty sure that it will work even if you don't use a VPN.
The repository owner should give you a contributor permission:
For the Eclipse running on IBM JDK the following 2 lines are mandatory in eclipse.ini after -vmargs:
-Dhttps.protocols=TLSv1.1,TLSv1.2
-Dcom.ibm.jsse2.overrideDefaultTLS=true
i've had the same issue on Spring Tool Suite (STS) and turns out, all i had to do was update my proxy settings in STS network config.
window > preferences > General > Network Connections and on the dropdown select "Manual" from "Native".
Here, just add your proxy url, port and your credentials for http and https by clicking on edit.
Apply and close.
Hope it works for you.
I got this error and after some research found that we need to create an access token in github and use it instead of the password which we have been using till now while git push and pull.
Github developer blog explaining the password deprecation: https://developer.github.com/changes/2020-02-14-deprecating-password-auth/
I have documented the steps here - you may try it out and see if it works for you.
https://webfuse.in/blogs/issues-troubleshooting/git-upload-pack-not-permitted-on-error-while-git-pull-and-git-push/
Thanks. This looks like an evergreen Question as I am answering after 7 years along with other valid answers!! :)
I had the same error. The error occurred suddenly while working. In my case it looked like an account problem or server side problem.
I sign out and signed in again in Bitbucket repository from web browser and this solved my problem.

SVN in Xcode 4.3 issues

I have already created a repo in my xcode, what im trying to do is import my project. And commit. Im kinda new to this thing, so I dont know what Im doing wrong.
When I try to import my project, this error came out:
Hope someone can help me.
EDITED:
Do the import by hand and answer the question "(R)eject, accept (t)emporarily or accept (p)ermanently?" with "p".
After that, you should be able to use the XCode frontend to svn without problems (beside that XCode comes with a rather old svn version, which can not work with newer repositories).
EDIT
By hand, I mean to do it within the terminal:
Start the Teriminal.app
Change to the directory where your project exist: cd [yourDir]
Import the project to svn: svn -m 'initial import' import [yourURL]
Answer the "(R)eject, accept..." question with "p"
2nd EDIT
If the svn command is not in your path (you will get command not found), you have to use the full path, e.g. /Applications/Xcode.app/Contents/Developer/usr/bin/svn instead of svn only.
open terminal app and type following command
svn co 'type your svn url '
I saw the same error on the prompt as in xcode:
Error validating server certificate for 'https://mysvnserver.com:443':
- The certificate is not issued by a trusted authority. Use the
fingerprint to validate the certificate manually!
Certificate information:
- Hostname: *.svn.mysvnserver.com
....
....
....
R)eject, accept (t)emporarily or accept (p)ermanently?
Now hit p here to accept (p)ermanently, and I was able to access the repository via the prompt. Next, I opened xcode and opened the repository -- everything worked flawlessly.