Package de.willuhn.jameica.security
Class SSLFactory
java.lang.Object
de.willuhn.jameica.security.SSLFactory
Diese Klasse uebernimmt die Erstellung der SSL-Zertifikate fuer die sichere RMI-Kommunikation.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionFuegt dem Keystore ein Zertifikat hinzu und uebernimmt dabei auch alle noetigen Sicherheitsabfragen.void
Aendert das Passwort des Keystores.void
decrypt
(InputStream is, OutputStream os) Entschluesselt die Daten aus is und schreibt sie in os.void
encrypt
(InputStream is, OutputStream os) Verschluesselt die Daten aus is und schreibt sie in os.Liefert die Certificate-Factory.Liefert den Keystore mit dem Zertifikat.Liefert die Datei mit dem Keystore.Liefert den PrivateKey von Jameica.Liefert den PublicKey von Jameica.Liefert einen fertig konfigurierten SSLContext mit den Jameica-Zertifikaten.Liefert das X.509-Zertifikat der Jameica-Installation.getTrustedCertificate
(String alias) Liefert das Zertifikat mit dem genannten Alias.Liefert eine Liste aller installierten Zertifikate ausser dem Jameica-eigenen System-Zertifikat.Liefert den Jameica-Trustmanager.Liefert eine Liste von Zertifikate, die noch zu bestaetigen sind.void
init()
Prueft die Zertifikate und erstellt sie bei Bedarf.Laedt ein Zertifikat vom angegebenen InputStream und liefert es zurueck.Laedt alle Zertifikate vom angegebenen InputStream und liefert sie zurueck.void
Entfernt das Zertifikat mit dem genannten Namen aus dem Keystore.
-
Constructor Details
-
SSLFactory
public SSLFactory()ct.
-
-
Method Details
-
init
Prueft die Zertifikate und erstellt sie bei Bedarf.- Throws:
Exception
-
changePassword
Aendert das Passwort des Keystores. Die Eingaben erfolgen ueber den ApplicationCallback.- Throws:
Exception
- See Also:
-
getKeyStoreFile
Liefert die Datei mit dem Keystore.- Returns:
- Keystore.
-
getPublicKey
Liefert den PublicKey von Jameica.- Returns:
- Private-Key.
- Throws:
Exception
-
getPrivateKey
Liefert den PrivateKey von Jameica.- Returns:
- Private-Key.
- Throws:
Exception
-
getSystemCertificate
Liefert das X.509-Zertifikat der Jameica-Installation.- Returns:
- X.509-Zertifikat.
- Throws:
KeyStoreException
- falls kein Zugriff auf KeystoreException
- siehegetKeyStore()
-
getTrustedCertificates
Liefert eine Liste aller installierten Zertifikate ausser dem Jameica-eigenen System-Zertifikat.- Returns:
- Liste der installieren Zertifikate.
- Throws:
KeyStoreException
- falls kein Zugriff auf KeystoreException
- siehegetKeyStore()
-
getTrustedCertificate
Liefert das Zertifikat mit dem genannten Alias. Die Funktion liefert NIE das System-Zertifikat von Jameica. Hierfuer kann stattdessengetSystemCertificate()
verwendet werden.- Parameters:
alias
- Alias des Zertifikats.- Returns:
- das Zertifikat oder NULL, wenn es nicht gefunden wurde.
- Throws:
KeyStoreException
- falls kein Zugriff auf KeystoreException
- siehegetKeyStore()
-
getUnTrustedCertificates
Liefert eine Liste von Zertifikate, die noch zu bestaetigen sind. Das sind genau jene, welche vom Server im Nichtinteraktiven Modus entgegengenommen wurden und auf Freigabe warten.- Returns:
- Liste der noch zu bestaetigenden Zertifikate.
- Throws:
Exception
-
getKeyStore
Liefert den Keystore mit dem Zertifikat.- Returns:
- Keystore
- Throws:
IOException
- falls Keystore nicht existiert oder kein ZugriffKeyStoreException
- sieheKeyStore.getInstance(String)
NoSuchAlgorithmException
- falls es Probleme beim Integritaetscheck gabCertificateException
- falls Zertifikate nicht aus dem Keystore geladen werden konntenException
- falls falsches Passwort (sieheApplicationCallback.getPassword()
)
-
removeTrustedCertificate
Entfernt das Zertifikat mit dem genannten Namen aus dem Keystore.- Parameters:
cert
- das zu entfernende Zertifikat.- Throws:
Exception
-
loadCertificate
Laedt ein Zertifikat vom angegebenen InputStream und liefert es zurueck. Es wird hierbei weder zum Keystore hinzugefuegt, noch geloescht sondern lediglich geladen und zurueckgeliefert.- Parameters:
is
- der InputStream.- Returns:
- das geladene Zertifikat.
- Throws:
Exception
-
loadCertificates
Laedt alle Zertifikate vom angegebenen InputStream und liefert sie zurueck. Sie werden hierbei weder zum Keystore hinzugefuegt, noch geloescht sondern lediglich geladen und zurueckgeliefert.- Parameters:
is
- der InputStream.- Returns:
- die geladenen Zertifikate. Es koennen mehrere sein.
- Throws:
Exception
-
getCertificateFactory
Liefert die Certificate-Factory.- Returns:
- die Certificate-Factory.
- Throws:
CertificateException
- falls Algorithmus nicht unterstützt wird (sieheCertificateFactory
)NoSuchProviderException
- falls Provider nicht unterstützt wird (sieheCertificateFactory
)Exception
-
addTrustedCertificate
Fuegt dem Keystore ein Zertifikat hinzu und uebernimmt dabei auch alle noetigen Sicherheitsabfragen.- Parameters:
cert
- das Zertifikat.- Returns:
- der Alias-Name, unter dem das Zertifikat im Keystore abgelegt wurde.
Die Funktion liefert NIE
null
sondern wirft stattdessen eineOperationCanceledException
. - Throws:
Exception
-
getSSLContext
Liefert einen fertig konfigurierten SSLContext mit den Jameica-Zertifikaten.- Returns:
- SSLContect.
- Throws:
Exception
-
getTrustManager
Liefert den Jameica-Trustmanager.- Returns:
- der Jameica-Trustmanager.
- Throws:
Exception
-
encrypt
Verschluesselt die Daten aus is und schreibt sie in os. Warnung: Die Daten werden direkt mit RSA verschluesselt. Die Funktion eignet sich daher nur fuer sehr kleine Datenmengen - z.Bsp. fuer Passwoerter.- Parameters:
is
- InputStream mit den unverschluesselten Daten.os
- OutputStream fuer die verschluesselten Daten.- Throws:
Exception
-
decrypt
Entschluesselt die Daten aus is und schreibt sie in os.- Parameters:
is
- InputStream mit verschluesselten Daten.os
- OutputStream mit unverschluesselten Daten.- Throws:
Exception
-