opentimestamps / java-opentimestamps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mvn install hangs on TestOpenTimeStamps.stamp()

f-lombardo opened this issue · comments

Hi guys,

I tried to run mvn install on Windows with java 1.8.0_121, but the aforementioned test hangs (and some others fail).
mvn_tesst

Thank you.

Franco

Hi Franco,
the errors looks like problem with the SSL connection, if you can open in the browser the site https://finney.calendar.eternitywall.com/ with a secure connection it means Java does not use the operating system certificates but their own.

To solve the problem you need to import the let's encrypt root certificate into the java certificates.
Locate the path of the certificate on windows (on mac they are at: /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/security)

then create the file DST_Root_CA_X3.pem with the following content

-----BEGIN CERTIFICATE-----
MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow
PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD
Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O
rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq
OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b
xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw
7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD
aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG
SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69
ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr
AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz
R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5
JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo
Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
-----END CERTIFICATE-----

then import with the command:

keytool.exe -import -alias letsencrypt -keystore ./cacerts -trustcacerts -file DST_Root_CA_X3.pem

It might be reasonable to have the libraries include the letsencrypt root and explicitly validate the cert against it. Calendars are low-trust anyway.

It works, thank you!
Some notes for Windows users:

  1. Check the java version you're using with
    mvn -version
  2. In order to import the above certificate, run a command prompt in administrative mode
  3. The default password of the keystore is changeit
  4. The position of the keystore is: MY_JDK_DIR\jre\lib\security (for example C:\Program Files\Java\jdk1.8.0_91\jre\lib\security)

Mentioning this issue in the readme and closing
12c7fad