java keystore - gluehloch/java-examples GitHub Wiki
Im KeyStore werden Schlüssel (Public Private Keys) und Zertifikate abgelegt.
Das alte, vor Java 9 verwendete, KeyStore Formate nennt sich JKS. Seit Java 9 wird das allgemeine, standardisierte PKCS12 verwendet.
Im ersten Schritt wird mit dem Befehl keytool ein KeyStore inklusive Zertifikat angelegt.
Ich habe als Passwort awtest666 gewählt. Das Ablaufdatum ist mit 10.000 Tagen festgelegt.
keytool -genkey -alias awtest -keyalg RSA -keystore awtest.jks -keysize 4096 -validity 10000
Im zweiten Schritt das Zertifikat exportieren. TODO: Ist das exportierte Zertifikat der 'öffentliche Schlüssel'?
keytool -export -keystore awtest.jks -alias awtest -file awtest.cer
setExpiration() should set a Date object that is later than the Date object for the setIssuedAt().
signWith() uses the private key to sign the JWT token. This is where we should use the private key.String jksPassword = "awtest666";
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType()); ks.load(new FileInputStream("awtest.jks"), jksPassword.toCharArray()); Key key = ks.getKey("awtest", jksPassword.toCharArray());
### links
* [X.509](https://de.wikipedia.org/wiki/X.509)