Zur Nutzung der Kryptographie-Funktionen in Java ist es notwendig, die auf Eurem System vorhandenen Kryptographie-Provider zu kennen, denn die unterschiedlichen Java-Versionen enthalten unterschiedliche Kryptographie-Provider. Im vorigen Beispiel A04 Kryptographie Algorithmen wurden die vorhandenen Funktionen ausgewertet, hier interessieren wir uns nur für die Provider.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
package net.bplaced.javacrypto.general; /* * Herkunft/Origin: http://javacrypto.bplaced.net/ * Programmierer/Programmer: Michael Fehr * Copyright/Copyright: frei verwendbares Programm (Public Domain) * Copyright: This is free and unencumbered software released into the public domain. * Lizenttext/Licence: <http://unlicense.org> * getestet mit/tested with: Java Runtime Environment 8 Update 191 x64 * Datum/Date (dd.mm.jjjj): 28.10.2018 * Funktion: Auflistung aller Kryptographie-Provider in Java * Function: output of all installed/available cryptography provider in Java * * Sicherheitshinweis/Security notice * Die Programmroutinen dienen nur der Darstellung und haben keinen Anspruch auf eine * korrekte Funktion, insbesondere mit Blick auf die Sicherheit ! * Prüfen Sie die Sicherheit bevor das Programm in der echten Welt eingesetzt wird. * The program routines just show the function but please be aware of the security part - * check yourself before using in the real world ! */ import java.security.Provider; import java.security.Security; public class A05_CryptoProvider { public static void main(String[] args) { System.out.println("A05 Auflistung aller Kryptographie-Provider"); // source https://stackoverflow.com/questions/3683302/how-to-find-out-what-algorithm-encryption-are-supported-by-my-jvm/3683915#3683915 for (Provider provider : Security.getProviders()) { System.out.println("Provider: " + provider.getName() + " version: " + provider.getVersion()); } } } |
Auf einen Windows-Desktop-PC erhalten wir beispielsweise diese Ausgabe auf der Konsole:
1 2 3 4 5 6 7 8 9 10 11 12 |
A05 Auflistung aller Kryptographie-Provider Provider: SUN version: 1.8 Provider: SUN version: 1.8 Provider: SunRsaSign version: 1.8 Provider: SunEC version: 1.8 Provider: SunJSSE version: 1.8 Provider: SunJCE version: 1.8 Provider: SunJGSS version: 1.8 Provider: SunSASL version: 1.8 Provider: XMLDSig version: 1.8 Provider: SunPCSC version: 1.8 Provider: SunMSCAPI version: 1.8 |
Solltet Ihr nun feststellen, das die aufgeführten Provider leider die von Euch gewünschte Funktion nicht bieten, solltet Ihr zu einem externen Security Provider greifen, z.B. nach Bouncy Castle. Die notwendigen Schritte zeige ich Euch in A06 Einbindung und Nutzung von Bouncy Castle.
Den Quellcode zum Programm findet Ihr zum Download in meinem Github-Repository, welches Ihr über diesen Link erreicht: https://github.com/java-crypto/A-Allgemeine-Programme. Dort findet Ihr auch die Versionen für Java 11.
Die Lizenz zum obigen Beispiel findet Ihr auf der eigenen Lizenz-Seite.
Letzte Aktualisierung: 26.01.2019