Opiszę cały proces tak, żebym sam miał jasność, jak i inni.
Mam wygenerowany plik keystore.jks z aliasem s1as, na podstawie tego wygenerowany keystore.csr, który został walidowany na stronie:
secure.qualityssl.com
Do ściągnięcia mam:
AddTrustExternalCARoot.crt RSAAddTrustCA.crt RSADomainValidationSecureServerCA.crt mojadomena.crt
Na czystym keystorze listuję co w nim jest:
C:\Program Files\Java\jre1.8.0_151\bin>keytool -list -keystore keystore.jks
Enter keystore password:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
s1as, 2018-02-27, PrivateKeyEntry,
Certificate fingerprint (SHA1): F2:5A:9B:48:3D:DB:45:1D:0A:61:B8:CF:96:5A:70:56:76:F7:45:F7
C:\Program Files\Java\jre1.8.0_151\bin>
i teraz niby przy pomocy instrukcji robię:
Z tym, że domyślam się, że niewymieniony, a powtórzony po nazwie plik, trzeba zamienić, więc robię to tak:
keytool -import -trustcacerts -alias qualityssl-sec -file RSADomainValidationSecureServerCA.crt -keystore keystore.jks
No i to nie działa, korzystałem z wielu instrukcji.
A korzystając z tej instrukcji:
To nawet jak wyeksportuję certyfikat na p7b, korzystając z Keystore explorer, to próbując załadować plik mojadomena.p7b dostaję zwrotkę:
C:\Program Files\Java\jre1.8.0_151\bin>keytool -import -trustcacerts -alias s1as -file crm.comtronic.pl.p7b -keystore keystore.jks
Enter keystore password:
keytool error: java.lang.Exception: Certificate not imported, alias <s1as> already exists
AKTUALIZACJA
Po wydaniu polecenia:
keytool -importcert -trustcacerts -alias s1as -file mojadomena.crt -keystore keystore.jks
efekt jest taki, że certyfikat jest widoczny jako podpisany, ale strona widoczna jako niezabezpieczona:
Zapewne chodzi o certyfikat root i certyfikaty pośrednie, ale wgrywam je modyfikując w keytool
-import i / -importcert i efekt nadal taki jaki widać.