Informationen zur Signaturauthentifizierung mit Java Time 1

Beispiel für Signierung und Authentifizierung (Java)

    1. Erforderliche JAR-Dateien: commons-codec-1.11.jar, bcprov-ext-jdk15on-158.jar
  1. Beispielquelle zum Signieren

Zu signierende Daten (Zeichenfolge (42 Byte), die "Transaktionsdatum und -zeit" (14 Byte), "Terminalidentifikationsnummer" (13 Byte), "Terminalverarbeitungsseriennummer" (15 Byte) kombiniert) String message = "20171201091011A004012345678012345678901234";

Lesen der privaten Schlüsseldatei Security.addProvider(new BouncyCastleProvider());

Generieren Sie ein privates Schlüsselziel PKCS8EncodedKeySpec pkcs8 = new PKCS8EncodedKeySpec(privateKeyByte);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
RSAPrivateKey rsaPrivateKey = (RSAPrivateKey) keyFactory.generatePrivate(pkcs8);

Signieren Sie mit den zu signierenden Daten und dem Ziel des privaten Schlüssels Signature signer = Signature.getInstance("SHA256withRSA");
signer.initSign(rsaPrivateKey);
signer.update(message.getBytes("UTF-8"));
byte[] signByte = signer.sign();

Konvertieren Sie basierend auf den generierten Signaturbytes in das hexadezimale Format Hex.encodeHexString(signByte);

7154172627db05f2eb6c8d0f522bd6d1ae0551899944e5a06170abd40e86d49a9204d29e1b251898fc47c633236168aafccf07d6458179f2cceb606dc4c84a3f7f9767fc4b00d3c43feabbc11ef750ca6d85bd7084e74b6c9bdd5bc2f497dae392b9f833a3e52133df74213770da74d9e2a9b08cbe2cf50d5bf1fbcdc00f4bab59ea885aeaaeb8e7a400491ba87c6121c4273a9daf723b89df0e6c4d62823a97db89e6eadea6800a0b692d6d4c19a343b0d762d4dcfd63ce7f41b291619ce2fda299533268d795188cb0cdfbd1a3f1e13f5399cfd52087396cf1a20361629495507569da9472602c985f3d90d35e4838cb9228a52ed211635faa55c94ba0dfbf

    1. Beispielquelle für die Authentifizierung

Öffentliche Schlüsseldatei lesen PemReader pemPubReader = new PemReader(new FileReader("./file/public-key.pem"));
PemObject objPub = pemPubReader.readPemObject();
byte[] publicKeyByte = objPub.getContent();

Generieren Sie ein Ziel für einen öffentlichen Schlüssel X509EncodedKeySpec x509 = new X509EncodedKeySpec(encodedByte);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
RSAPublicKey rsaPublicKey = (RSAPublicKey) keyFactory.generatePublic(x509);

Authentifizieren Sie sich mit dem Ziel des öffentlichen Schlüssels Signature verifier = Signature.getInstance("SHA256withRSA");
verifier.initVerify(rsaPublicKey);
verifier.update(message.getBytes("UTF-8"));
byte [] messageByte = Hex.decodeHex (signierte Nachricht oben (im hexadezimalen Format)); boolean result = verifier.verify(messageByte);

Recommended Posts

Informationen zur Signaturauthentifizierung mit Java Time 1
Grundlegende Authentifizierung mit Java 11 HttpClient
Erfahren Sie mehr über Transaktionssicherungspunkte (mit Java)
Über die Java-Schnittstelle
[Java] Informationen zu Java 12-Funktionen
[Java] Über Arrays
Etwas über Java
Wo ist mit Java?
Informationen zu Java-Funktionen
Über Java-Threads
[Java] -Schnittstelle
Über die Java-Klasse
Informationen zu Java-Arrays
Über Java-Vererbung
Über Schnittstelle, Java-Schnittstelle
Über Java Var
Über Java Literal
Informationen zu Java-Befehlen
Ich habe versucht, eine Standardauthentifizierung mit Java durchzuführen
Informationen zur Java-Protokollausgabe
Informationen zur Java-Funktionsschnittstelle
Installieren Sie Java mit Homebrew
Java, über zweidimensionales Array
Über die Klassenteilung (Java)
Informationen zur Spring Security-Authentifizierung
Über [Java] [StreamAPI] allMatch ()
Informationen zur Java StringBuilder-Klasse
Wechseln Sie die Plätze mit Java
Installieren Sie Java mit Ansible
[Java] Über Singleton Class
Informationen zur Bindung von Java-Methoden
Bequemer Download mit JAVA
[Java] Über anonyme Klassen
[Java Silver] Informationen zur Initialisierung
Schalten Sie Java mit direnv
Informationen zur Java-Array-Liste
Über Java-Polymorphismus super ()
Informationen zur Vererbung (Java Silver)
Informationen zur Java String-Klasse
Informationen zu Java-Zugriffsmodifikatoren
Java-Download mit Ansible
Über Java-Lambda-Ausdrücke
Informationen zu Java-Einstiegspunkten
Java 10 Docker-Unterstützung
Persönliche Zusammenfassung über Java
Lass uns mit Java kratzen! !!
Eine Geschichte über die Entwicklung von ROS namens Rosjava mit Java
Erstellen Sie Java mit Wercker
Über die abstrakte Klasse von Java
Endian-Konvertierung mit JAVA
Informationen zum Verhalten beim Erstellen einer Dateizuordnung mit Java
(Java) Einfache BDD mit Spektrum?
Verwenden Sie Lambda-Ebenen mit Java
Erstellen Sie mit Gradle ein Java-Multiprojekt
Erste Schritte mit Java Collection
Was ich über Java 8 recherchiert habe
Über Java-Instanzen
Java-Konfiguration mit Spring MVC