Zertifikat Subject DN zerlegen

Leno

Bekanntes Mitglied
Hi ,

habe mal wieder ein grosses Problem , vielleicht kennt sich ja jemand von euch damit aus. Ich arbeite gerade mit X509 Zertifikaten und muss aus der SubjectDN die CN Filtern bzw. möchte diese erhalten

hier ein Beispiel :

EMAILADDRESS=test@test.de, CN=bank12345678912398, OU=L, O=TrollAG, L=Köln, ST=NRW, C=EU

So wie oben kann ich die SubjectDN per getSubjectDN() Methode aus der Klasse X509 erhalten.
Jetzt aber folgendes Problem wie komme ich nur an die CN also z.B. bank123...... ohne die Kommastellen und ohne die anderen Inforamtionen auf eine elegante art und weise ? habe zwar ansätze mit StringTokenizer aber irgendwie nicht so schön :( kann mir jemand helfen ?

Gruss Leno
 

Leno

Bekanntes Mitglied
ja leider ja und man muss bedenken das die Zahlen der CN auch Variabel sein müssen
also auch 20 Zahlen oder weniger aber das Zert fängt immer mit bank oder corp an und ja es ist immer ein komma dazwischen
 

RySa

Bekanntes Mitglied
Wie wärs damit:
Java:
	public static void main(String[] args) {
		String s = "EMAILADDRESS=test@test.de, CN=bank12345678912398, OU=L, O=TrollAG, L=Köln, ST=NRW, C=EU";
		Pattern pattern = Pattern.compile("(?s)CN=\\b.+?\\b");
		Matcher matcher = pattern.matcher(s);
		String cn = "";
		while (matcher.find()){
			cn = matcher.group().replace("CN=","");
		}
		System.out.println(cn);

	}
 

Leno

Bekanntes Mitglied
WOW danke genial :D bin gar nicht drauf gekommen
kannst du mir vielleicht noch kurz erklären wie dies aufgebaut ist "(?s)CN=\\b.+?\\b"
Ansonsten ist die Lösung Super, meine ist elend lang mit SubStrings und so und auch nicht grad
Variabel
 

RySa

Bekanntes Mitglied
Lesson: Regular Expressions - Falls du noch öfters mit Aufgaben, die mit Regex gelöst werden können, zu tun haben solltest :)

Also (?s) heißt hier, dass line.separators usw. auch im String enthalten werden können.
CN= ist ja klar, es muss so beginnen
.+? es kann ein beliebiges Zeichen einmal oder mehrmals folgen (das Bedeutet das .+ alleine) aber +? zusammen, heißen auch, dass er darauf achten soll, was sich noch dahinter im Regex befindet und er nicht einfach jedes Zeichen "frisst" bevor er weiter überprüft :).
und die \\b \\b die das .+? umschließen, bedeuten, dass die Zeichenfolge an kein anderes Wort gebunden werden darf (in dem Fall steht ja davor ein = und dahinter ein , ist also auch an kein Wort gebunden, da es "Sonderzeichen" sind.

Man kann es auch anders Lösen, wie z.B "(?s)CN=.+?," und dann einfach noch das Komma dahinter mit "" replacen. Ist alles eine Sache der Logik. Jeder denkt halt anders :)

Ich empfehle dir aber auf jeden Fall sich mit Regex "zu befreunden" :) Sie sind immer wieder gut zu gebrauchen :)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Import SSL Zertifikat in keystore Java Basics - Anfänger-Themen 10
L Applet : keine Recht für Zugriff auf Clipboard (trotz Zertifikat) Java Basics - Anfänger-Themen 4
L X509 Zertifikat in PKCS#7 Format Java Basics - Anfänger-Themen 2
M 1. Java Zertifikat SCJP Java Basics - Anfänger-Themen 24
E String zerlegen aus args Java Basics - Anfänger-Themen 1
I Zerlegen von String Java Basics - Anfänger-Themen 3
J Pfad zerlegen Java Basics - Anfänger-Themen 2
sashady Zahlen rekursiv zerlegen und Ziffern addieren Java Basics - Anfänger-Themen 38
nonickatall Input/Output Zeichenkette in Array zerlegen Java Basics - Anfänger-Themen 2
O Best Practice Datei-Pfad zerlegen Java Basics - Anfänger-Themen 4
L String zerlegen & elemente hinzufügen Java Basics - Anfänger-Themen 5
M Erste Schritte Zeichenkette zerlegen Java Basics - Anfänger-Themen 5
X Wie kann ich Zahlen in einzelne Zifferne zerlegen? Java Basics - Anfänger-Themen 3
B Eine ganze Zahl zerlegen. Java Basics - Anfänger-Themen 4
M String zerlegen anhand anderer String Java Basics - Anfänger-Themen 6
Orkanson Methoden String in Wörter zerlegen und Endungen der Wörter überprüfen. Java Basics - Anfänger-Themen 4
H Path2D zerlegen und Objekt drauf "laufen" lassen Java Basics - Anfänger-Themen 11
Shizmo 2dim Objekt in 1dim zerlegen? Java Basics - Anfänger-Themen 13
Silvascus String zerlegen Java Basics - Anfänger-Themen 6
H String zerlegen Java Basics - Anfänger-Themen 16
B Zahlen zerlegen und verwenden Java Basics - Anfänger-Themen 2
I String gezielt zerlegen Java Basics - Anfänger-Themen 5
L Zeichenkette zerlegen Java Basics - Anfänger-Themen 4
D String zerlegen Java Basics - Anfänger-Themen 2
B Best Practice JSON Datei zerlegen Java Basics - Anfänger-Themen 1
H String mit Leerzeichen in Variablen zerlegen Java Basics - Anfänger-Themen 4
F Erste Schritte Pattern zum Zerlegen von selbstdefinierten Dateinamen Java Basics - Anfänger-Themen 7
B String zerlegen Java Basics - Anfänger-Themen 25
T String zerlegen Java Basics - Anfänger-Themen 15
K Bestimmten String zerlegen Java Basics - Anfänger-Themen 12
W Zahl/Wort in ein Array zerlegen Java Basics - Anfänger-Themen 6
H String zerlegen in einzelne Buchstaben (char)?? Java Basics - Anfänger-Themen 7
M String an bestimmten Stellen zerlegen Java Basics - Anfänger-Themen 12
M Integer.parseInt String zerlegen Java Basics - Anfänger-Themen 6
H Long (64Bit) in 2 int (32Bit) zerlegen Java Basics - Anfänger-Themen 2
I String ohne Zeichen zerlegen lassen Java Basics - Anfänger-Themen 5
T Set in 2 gleichgroße Teile zerlegen Java Basics - Anfänger-Themen 14
A Zahl zerlegen Java Basics - Anfänger-Themen 3
G String zerlegen? Java Basics - Anfänger-Themen 2
T String zerlegen? Java Basics - Anfänger-Themen 25
J Strings zerlegen Java Basics - Anfänger-Themen 15
G String zerlegen Java Basics - Anfänger-Themen 14
M String zerlegen Java Basics - Anfänger-Themen 6
O String mit split zerlegen Java Basics - Anfänger-Themen 6
J String zerlegen mit mehreren trennzeichen Java Basics - Anfänger-Themen 3
L zahl in einzelzahlen zerlegen Java Basics - Anfänger-Themen 5
G int-Wert in seine byte-Werte zerlegen Java Basics - Anfänger-Themen 3
M Strings zerlegen und Schlüsselwörter finden Java Basics - Anfänger-Themen 7
B ASCII-Datei einlesen und zerlegen Java Basics - Anfänger-Themen 5
Dilandau string intelligent zerlegen Java Basics - Anfänger-Themen 7
G Wie eine Int Zahl in die einzelnen Ziffern zerlegen? Java Basics - Anfänger-Themen 6
S Zeichenkette zerlegen? Java Basics - Anfänger-Themen 4
G string zerlegen? Java Basics - Anfänger-Themen 3
ven000m Zahl zerlegen Java Basics - Anfänger-Themen 8
frau-u Playlist einlesen, zerlegen und neu sortieren? Java Basics - Anfänger-Themen 3
K Programm in Klassen/Objekte zerlegen - wie? Java Basics - Anfänger-Themen 3
N String zerlegen und auf mehreren Variablen zuweisen Java Basics - Anfänger-Themen 3
B Tastatur eingaben abfragen und dann in Argumente zerlegen..? Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben