Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Textinhalt (Teilabschnitt) aus einer XML exportieren und in eine Datei einfügen

Frage Entwicklung VB for Applications

Mitglied: Memphis81

Memphis81 (Level 1) - Jetzt verbinden

09.09.2010, aktualisiert 20.10.2010, 6541 Aufrufe, 20 Kommentare

Ich habe verschiedene Scriptabfragen versucht doch nichts hat den nötigen Erfolg gebracht um mein Scriptproblem zu lösen.
Das liegt zum sicherlich zum Teil an meinen schlechten Scriptfähigkeiten ;) aber evt. auch an dem Vorhaben.
Ich hoffe die Administrator.de community kann da evt. weiterhelfen.

Hallo,

Wir wollen für ein internes Programm ein Java Zertifikat aus einem Teilabschnitt einer Datei (Sylink.xml) exportieren und danach in eine vorgefertigte Schablonendatei %Servername%.txt einfügen und dann in das JAVA Control Panel importieren.
Das alles am besten per script, es dürfen auch mehrere sein.. wichtig ist einfach nur der Automatismus. Die ganzen genannten Punkte müssen ohne das eingreifen eines Users erfolgen.
Den jeweiligen Computernamen wird per batch befehl entnommen um die Datei umbennant....später wird diese mit dem Exportierten Zertifikatsabschnitt befüllt.

Exportieren des Zertifikatsabschnitts:
Es handelt sich um die Datei Sylink.xml (benutzt von dem Programm "Symantec Endpoint Protection"
In der Sylink.xml befinden sich die Kommunikationseinstellungen des Servers für die Clients, zusätzlich enthält diese Datei aber auch eine Zertifikatsabfrage.

53d45a1bcf6e31c1fc37fefb365e07d3 - Klicke auf das Bild, um es zu vergrößern

Der spannende Abschnitt sieht folgendermaßen aus:
<Certificate Name="Servername">MIICQzCCAaygAwIBAgIES5Y3eTANBgkqhkiG9w0BAQUFADBmMQswCQYDVQQGEwJVUzELMAkGA1UE CBMCQ0ExEDAOBgNVBAcTB0ZyZW1vbnQxFTATBgNVBAoTDHN5bWFudGVjLmNvbTEMMAoGA1UECxMD c2NtMRMwEQYDVQQDEwp5ZWxsb3ctcGFkMB4XDTEwMDMwOTExNTY0MVoXDTIwMDMwNjExNTY0MVow ZjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQHEwdGcmVtb250MRUwEwYDVQQKEwxz eW1hbnRlYy5jb20xDDAKBgNVBAsTA3NjbTETMBEGA1UEAxMKeWVsbG93LXBhZDCBnzANBgkqhkiG 9w0BAQEFAAOBjQAwgYkCgYEAvPBgIVLSkozFjPWTT8QkIm+bBVIFC0Nyeu0RarMJrVvI1z3Vkzya tzSPkffMbjnP8mK/iLf3iZ5C40MB1hmmPvKa36o8xcDyeXcYLUvYBqwiP+q4Y9ufOSBEPUWD272x lMOGiitdV1UuQx+Hy41JXXN12M6E0VypOnk5gAjoZtECAwEAATANBgkqhkiG9w0BAQUFAAOBgQC5 26ZsiMFIEg7KQa33/18fG3KQKHZbIGDkT6NxrX55nK9TGnoytvANHTcDiM1caovv3busigebOz3d G8K5fJKcbYEWZ7+qd6wu8WT3xPB5qeUQR/YsDJBB+b+psRq+vT9GiVGwsTl5pXItlyltr53DD+zb jAK+s6K0ZwBqTD0ZmA==</Certificate>

Diesen Abschnitt würden wir gerne exportieren:
MIICQzCCAaygAwIBAgIES5Y3eTANBgkqhkiG9w0BAQUFADBmMQswCQYDVQQGEwJVUzELMAkGA1UE CBMCQ0ExEDAOBgNVBAcTB0ZyZW1vbnQxFTATBgNVBAoTDHN5bWFudGVjLmNvbTEMMAoGA1UECxMD c2NtMRMwEQYDVQQDEwp5ZWxsb3ctcGFkMB4XDTEwMDMwOTExNTY0MVoXDTIwMDMwNjExNTY0MVow ZjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQHEwdGcmVtb250MRUwEwYDVQQKEwxz eW1hbnRlYy5jb20xDDAKBgNVBAsTA3NjbTETMBEGA1UEAxMKeWVsbG93LXBhZDCBnzANBgkqhkiG 9w0BAQEFAAOBjQAwgYkCgYEAvPBgIVLSkozFjPWTT8QkIm+bBVIFC0Nyeu0RarMJrVvI1z3Vkzya tzSPkffMbjnP8mK/iLf3iZ5C40MB1hmmPvKa36o8xcDyeXcYLUvYBqwiP+q4Y9ufOSBEPUWD272x lMOGiitdV1UuQx+Hy41JXXN12M6E0VypOnk5gAjoZtECAwEAATANBgkqhkiG9w0BAQUFAAOBgQC5 26ZsiMFIEg7KQa33/18fG3KQKHZbIGDkT6NxrX55nK9TGnoytvANHTcDiM1caovv3busigebOz3d G8K5fJKcbYEWZ7+qd6wu8WT3xPB5qeUQR/YsDJBB+b+psRq+vT9GiVGwsTl5pXItlyltr53DD+zb jAK+s6K0ZwBqTD0ZmA=

und danach in eine vorgefertigte File einfügen, diese Datei heißt in unserem Bsp. einfach nur "Servername.txt"

Die Schablone sieht folgendermaßen aus:
-----BEGIN CERTIFICATE-----
(leeres Feld, für den später eingefügten Text aus der Sylink.xml)
-----END CERTIFICATE-----

Nachdem der richtige Abschnitt exportiert wurde und in unsere Datei importiert wurde, muss sie folgendermaßen aussehen:
-----BEGIN CERTIFICATE-----
Der eingefügte Zertifikatsabschnitt aus der Sylink.xml, siehe Bild
-----END CERTIFICATE-----
Die Zeilenümbrüche müssen exakt stimmen sonst ist die Datei in die java runtime nicht zu importieren (Es erscheint eine Fehlermeldung)
5a5c1a9dab6f7dd1b6322917e8b9f5c5 - Klicke auf das Bild, um es zu vergrößern

EDIT: Nach dem Script sieht es folgendermaßen aus: ( Dank geht an didi1954 )
38b4aae9d76e09621ffec26874caa676 - Klicke auf das Bild, um es zu vergrößern


Es müssen also nur noch die Sonderzeichen am Ende jedes Zeilenumbruchs verschwinden. Ich habe es folgendermaßen gelöst.
01.
strFilename = "Servername.txt" 
02.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
03.
Set objFile = objFSO.GetFile(strFilename) 
04.
intFileSize = objFile.Size 
05.
Set objFile = objFile.OpenAsTextStream() 
06.
strFileContent = objFile.Read(intFileSize) 
07.
objFile.Close 
08.
 
09.
Set objRegExp = New RegExp 
10.
objRegExp.Global = True 
11.
objRegExp.IgnoreCase = True             'False für case-sensitive 
12.
strFileContent = objRegExp.Replace(strFileContent, "") 
13.
objRegExp.Pattern = "&#xd;" 
14.
strFileContent = objRegExp.Replace(strFileContent, "") 
15.
Set objFile = objFSO.OpenTextFile(strFilename, 2) 
16.
objFile.Write strFileContent 
17.
objFile.Close
Damit ist dieses Problem vom Tisch und es bleibt nur noch die Importierung in das Java Control Panel per Script. :D


Danach soll die fertige Datei importiert werden (Am besten silent per script)

cb37125aaec4c026f0295b02c32ce516 - Klicke auf das Bild, um es zu vergrößern

Im Java Control Panel >> im Reiter "Sicherheit" auf den Button "Zertifikate..."
Im Reiter "Benutzer"
Zertifikatstyp: Vertrauenswürdige Zertifikate + Sichere Site

cb37125aaec4c026f0295b02c32ce516 - Klicke auf das Bild, um es zu vergrößern


Es wäre evt. möglich mit dem keytool von java (im bin installationsverzeichnis) zu arbeiten.
<code>
echo === Keytool im Java Verzeichnis benutzen ===
D:\Programme\Java\jre6\bin
keytool -import -trustcacerts -alias <alias-name> -file c:\SEPMinst\%computername%.txt -keystore cacerts
<code>
Das Problem hier wiederrum wäre das die Datei %Computername%.txt eine Variable bleiben muss und keinen festen Namen haben darf. Das Script muss für jeden Rechner gehen und nicht nur für einen einzigen.
Durch die echo %computername% Abfrage könnte das Script sozusagen auch den Namen dann erfahren und eintragen.



<<<<<<<<<<<<<<<<<<>>>LÖSUNG>>>>>>>>>>>>>>>>>>>>>>>>>>

Hier die Scripts zum anschauen:
Export Script
Copy Script


Nachdem wir das Zertifikat soweit vorbereitet haben (Text exportiert/importiert) musste es noch in den Zertifikatsspeicher (Vertrauenswürdige Stammzertifizierungsstellen) importiert werden:
Um diesen Vorgang zu automatisieren, haben wir folgenden Befehl benutzt.
certutil -f -addstore -enterprise root C:\SEPMinst\Export.cer

Das alles zusammen in ein Ablaufendes *.vbs zusammenfügen, in den f.e. autostart hinterlegen und fertig ist unser Automatismus =)

<<<<<<<<<<<<<<<<<<>>>ENDE>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Mitglied: 76109
09.09.2010 um 19:43 Uhr
Hallo Memphis81!

Hier mal ein Ansatz für den Zertifikat-Export in VB-Script (*.vbs):
01.
Const XmlPath = "E:\Test\Import.xml" 
02.
Const TxtPath = "E:\Test\Export.txt" 
03.
 
04.
Const TextBefore = "-----BEGIN CERTIFICATE-----" 
05.
Const TextAfter = "-----END CERTIFICATE-----" 
06.
 
07.
Const Msg0 = "Das Zertifikat wurde erfolgreich exportiert." 
08.
Const Msg1 = "Das Zertifikat konnte nicht exportiert werden!" 
09.
 
10.
Dim Re, Fso, XmlFile, TxtFile, ImportText, ExportText, Text 
11.
 
12.
Set Re = New RegExp 
13.
Set Fso = CreateObject("Scripting.FileSystemObject") 
14.
     
15.
Set XmlFile = Fso.OpenTextFile(XmlPath) 
16.
     
17.
ImportText = XmlFile.ReadAll:  XmlFile.Close 
18.
     
19.
With Re 
20.
   .Global = False 
21.
   .IgnoreCase = True 
22.
   .Pattern = "<Certificate Name=[^>]+>([^<]*)</Certificate>" 
23.
End With 
24.
     
25.
With Re.Execute(ImportText) 
26.
    If .Count = 1 Then 
27.
        With .Item(0).Submatches 
28.
            If .Count = 1 Then 
29.
                ExportText = Fso.OpenTextFile(TxtPath).ReadAll 
30.
                     
31.
                Text = Split(ExportText, TextBefore)(0) & TextBefore & vbCrLf 
32.
                Text = Text & .Item(0) & vbCrLf 
33.
                Text = Text & TextAfter & Split(ExportText, TextAfter)(1) 
34.
                     
35.
                Set TxtFile = Fso.CreateTextFile(TxtPath) 
36.
                     
37.
                TxtFile.Write Text:  TxtFile.Close 
38.
                     
39.
                MsgBox Msg0, vbInformation, "Meldung" 
40.
            Else 
41.
                MsgBox Msg1, vbExclamation, "Fehler" 
42.
            End If 
43.
        End With 
44.
    Else 
45.
        MsgBox Msg1, vbExclamation, "Fehler" 
46.
    End If 
47.
End With
Gruß Dieter

[edit] Codezeile 32 geändert (bleibt doch == am Ende stehen)[/edit]
Bitte warten ..
Mitglied: Memphis81
10.09.2010 um 10:08 Uhr
Vielen Dank Dieter für dein Script, welches auch funktioniert (fast...)

Ich habe oben meinen Text editiert und ein Bild eingefügt nachdem dein Script in Benutzung war.
Das einzige was jetzt noch Probleme macht sind die Sonderzeichen,am Ende jedes Zeilenumbruchs...
Diese dürfen nicht mit exportiert/importiert werden bzw. sie müssen danach wieder entfernt werden aus der servername.txt

-------> &#xd;
Diese Zeichen müssen weg, danach wäre das Thema dann bereits durch. Wäre dann nur noch die Java Importierung.

Grüße...
Martin
Bitte warten ..
Mitglied: 76109
10.09.2010 um 10:29 Uhr
Hallo Memphis81!

Sorry , habe leider übersehen, dass der Text UTF8-kodiert ist. Mein Script war bedauerlicherweise auf Ansi-Text ausgelegt. Von daher muss ich mir das Ganze nochmal anschauen und überarbeiten. Kann aber etwas dauern, weil ich noch wichtige Termine habe

Gruß Dieter
Bitte warten ..
Mitglied: Memphis81
10.09.2010 um 11:01 Uhr
Zitat von 76109:
Hallo Memphis81!

Sorry , habe leider übersehen, dass der Text UTF8-kodiert ist. Mein Script war bedauerlicherweise auf Ansi-Text ausgelegt.
Von daher muss ich mir das Ganze nochmal anschauen und überarbeiten. Kann aber etwas dauern, weil ich noch wichtige Termine
habe

Gruß Dieter

Passt schon Dieter, ich konnte das schon beheben =)
01.
strFilename = "Servername.txt" 
02.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
03.
Set objFile = objFSO.GetFile(strFilename) 
04.
intFileSize = objFile.Size 
05.
Set objFile = objFile.OpenAsTextStream() 
06.
strFileContent = objFile.Read(intFileSize) 
07.
objFile.Close 
08.
 
09.
Set objRegExp = New RegExp 
10.
objRegExp.Global = True 
11.
objRegExp.IgnoreCase = True             'False für case-sensitive 
12.
strFileContent = objRegExp.Replace(strFileContent, "") 
13.
objRegExp.Pattern = "&#xd;" 
14.
strFileContent = objRegExp.Replace(strFileContent, "") 
15.
Set objFile = objFSO.OpenTextFile(strFilename, 2) 
16.
objFile.Write strFileContent 
17.
objFile.Close
Hier das script was ich benutzt habe um die sonderzeichen zu entfernen ^^

Bleibt also nur noch die Importierung dieser Datei in das Java Control Panel... per Script automatisiert natürlich. Per hand funktoniert es bereits, habe es vorhin schon durchgetestet!
Ich überlege ob ich nicht einen Thread in Java deshalb lieber öffnen soll...

Grüße
Martin
Bitte warten ..
Mitglied: Memphis81
10.09.2010 um 11:44 Uhr
Zum Thema Java Import:

Es wäre evt. möglich mit dem keytool von java (im bin installationsverzeichnis) zu arbeiten.
echo === Keytool im Java Verzeichnis benutzen ===
D:\Programme\Java\jre6\bin
keytool -import -trustcacerts -alias <alias-name> -file c:\SEPMinst\%computername%.txt -keystore cacerts
Ich habe selber noch nicht ganz verstanden was jetzt im <alias-name> stehen muss (evt. der computername???)
Das Problem hier wiederrum wäre das die Datei %Computername%.txt eine Variable bleiben muss und keinen festen Namen haben darf.
Das Script muss für jeden Rechner gehen und nicht nur für einen einzigen.
Durch die echo %computername% Abfrage könnte das Script sozusagen auch den Namen dann erfahren und eintragen.

Das script müsste sich dann ja auch 2x ausführen um in die beiden unterschiedlichen Bereiche im Java Control Panel zu installieren...
Wenn wir das hinkriegen.... Wär' a Traum :p
Bitte warten ..
Mitglied: 76109
10.09.2010 um 12:49 Uhr
Hallo Memphis81!

Zitat von Memphis81:
Passt schon Dieter, ich konnte das schon beheben =)

OK, aber das hätte man ja auch gleich vor dem Export erledigen können. Allerdings habe ich noch nicht verstanden, wo die "&#xd;" herkommen?

Bei Deinem weiteren Problem kann ich Dir leider nicht weiterhelfen, da ich von Java, Null Ahnung habe bzw. mich nicht damit beschäftige. Von daher wäre ein neuer Thread durchaus sinnvoll

Gruß Dieter
Bitte warten ..
Mitglied: Memphis81
10.09.2010 um 16:08 Uhr
OK, aber das hätte man ja auch gleich vor dem Export erledigen können. Allerdings habe ich noch nicht verstanden, wo die

Scheint wirklich ein Formatierungsproblem zu sein. Wenn die Sylink.xml in einem ie geöffnet wird dann sieht es gut aus, wenn ich es in notepad++ z.B. öffne dann erscheinen die sonderzeichen dort auch...
Auf jeden Fall ist ja das Problem vom Tisch... bleibt nur noch das Importieren in die beiden Bereiche von dem Java Control Panel...

Danke dir für die Ünterstützung!!!

Martin
Bitte warten ..
Mitglied: 76109
11.09.2010 um 16:26 Uhr
Hallo Martin!

Es wird wohl nicht ganz so funktionieren, wie Du Dir das vorgestellt hast?

Um mit Keytool ein Zertifikat installieren zu können, darf in der Zertifikat-Datei nur der Teil von "-----BEGIN CERTIFICATE-----" bis "-----END CERTIFICATE-----" stehen. Ansonsten kommt eine Fehlermeldung "Keine Zertifikat-Datei", sowas in der Art. Von daher habe ich ein neues Skript gebastelt

Das VB-Skript exportiert das Zertifikat in die Datei "Export.cer" und im nachfolgende Batch-Skript wird das Zertifikat mit "Keytool -import" installiert. Eine entsprechende Meldung wird auch angezeigt und nach der Pause mit "Keytool -delete" zu Testzwecken wieder gelöscht. Allerdings, was ich auch nicht ganz verstehe, wird das Zertifikat nicht im ControlPaneel angezeigt?

Der Alias-Name kann beliebig sein und darf nur einmalig für ein Zertifikat benutzt werden. Der Alias-Name wird z.B. auch beim Löschen als Ansprechname verlangt.

VBS:
01.
Const XmlPath = "E:\Test\Import.xml" 
02.
Const CerPath = "E:\Test\Export.cer" 
03.
 
04.
Const Msg0 = "Das Zertifikat wurde erfolgreich exportiert." 
05.
Const Msg1 = "Das Zertifikat konnte nicht exportiert werden!" 
06.
 
07.
Dim Re, Fso, XmlFile, CerFile, XmlText, CerText 
08.
 
09.
Set Re = New RegExp 
10.
Set Fso = CreateObject("Scripting.FileSystemObject") 
11.
     
12.
Set XmlFile = Fso.OpenTextFile(XmlPath) 
13.
 
14.
XmlText = XmlFile.ReadAll:  XmlFile.Close 
15.
     
16.
With Re 
17.
   .Global = False 
18.
   .IgnoreCase = True 
19.
   .Pattern = "<Certificate Name=[^>]+>([^<]*)</Certificate>" 
20.
End With 
21.
                                                           
22.
With Re.Execute(XmlText) 
23.
    If .Count = 1 Then 
24.
        With .Item(0).Submatches 
25.
            If .Count = 1 Then 
26.
                CerText = Replace(.Item(0), "&#xd;", "") 
27.
                   
28.
                Set CerFile = Fso.CreateTextFile(CerPath) 
29.
 
30.
                With CerFile 
31.
                    .WriteLine "-----BEGIN CERTIFICATE-----" 
32.
                    .Write CerText & vbCrLf 
33.
                    .WriteLine "-----END CERTIFICATE-----" 
34.
                    .Close 
35.
                End With 
36.
                    
37.
                MsgBox Msg0, vbInformation, "Meldung" 
38.
            Else 
39.
                MsgBox Msg1, vbExclamation, "Fehler" 
40.
            End If 
41.
        End With 
42.
    Else 
43.
        MsgBox Msg1, vbExclamation, "Fehler" 
44.
    End If 
45.
End With
Batch:
01.
@echo off 
02.
 
03.
::32Bit 
04.
Set "JavaBin=C:\Program Files (x86)\Java\jre6x32\bin" 
05.
Set "JavaSec=C:\Program Files (x86)\Java\jre6x32\lib\security" 
06.
Set "JavaCer=E:\Test" 
07.
 
08.
::64Bit 
09.
::Set "JavaBin=C:\Program Files\Java\jre6x64\bin" 
10.
::Set "JavaSec=C:\Program Files\Java\jre6x64\lib\security" 
11.
::Set "JavaCer=E:\Test" 
12.
 
13.
"%JavaBin%\keytool" -import -v -noprompt -trustcacerts -alias "Test" -file "%JavaCer%\Export.Cer" -keystore "%JavaSec%\Test.jks" -storepass "Passwort" 
14.
 
15.
Pause 
16.
 
17.
"%JavaBin%\keytool" -delete -alias "Test" -keystore "%JavaSec%\Test.jks" -storepass "Passwort"
Eventuell muss auch noch der Parameter [-keypass "Passwort"] angegeben werden.
Der Parameter [-noprompt] unterdrückt die Abfrage, ob das Zertifikat als sicher eingestuft wird.
Anstelle von [-keystore "%JavaSec%\Test.jks"] kannst Du auch [-keystore "%JavaSec%\cacerts"] verwenden. In der Datei cacerts sind wohl die Zertifate JavaFX Runtime (ControlPaneel) enthalten.

Gruß Dieter

PS. Im ersten Code Codezeile 32 geändert.
Bitte warten ..
Mitglied: Memphis81
12.09.2010 um 22:26 Uhr
Doch, doch es soll nach dem Import im Java Control Panel angezeigt werden =)
Vielen Dank für deine Mühe, ich freue mich auf Mittwoch wenn ich selber Hand anlegen darf!

oh mann.... Schade das ich morgen und übermorgen nicht im büro bin um alles auszuprobieren (extern tätig)... Ich werde das an einen meiner kollegen weiterleiten.

Daumen hoch und big thx Dieter =)
Bitte warten ..
Mitglied: 76109
13.09.2010 um 07:49 Uhr
Hallo Martin!

Da bin ich mal gespannt, ob Ihr das hinkriegt

Gruß Dieter
Bitte warten ..
Mitglied: Memphis81
16.09.2010 um 11:29 Uhr
Das importieren klappt bereits... nur ein problem bislang... keine Ahnung wo das Zertifikat importiert wird :p Ich bin gerade dabei heraus zu suchen im oracle forum welchen command keytool benötigt und das in den richtigen Reiter zu importieren.


JAVA Control Panel > Sicherheit (Security) > Zertifikate (Certificates) > Typ: Vertrauenswürdige Zertifikate & Sichere Site
In die beiden Kategorien sollen die Importe erfolgreich auftauchen
Bitte warten ..
Mitglied: 76109
16.09.2010 um 12:22 Uhr
Hallo Martin!

Zitat von Memphis81:
Das importieren klappt bereits... nur ein problem bislang... keine Ahnung wo das Zertifikat importiert wird :p Ich bin gerade
dabei heraus zu suchen im oracle forum welchen command keytool benötigt und das in den richtigen Reiter zu importieren.

JAVA Control Panel > Sicherheit (Security) > Zertifikate (Certificates) > Typ: Vertrauenswürdige Zertifikate &
Sichere Site
In die beiden Kategorien sollen die Importe erfolgreich auftauchen
Tja, da bin ich auch nicht weiterkommen und habe beim besten Willen keine Ahnung, wie das gehen soll

Eventuell helfen Dir auch diese Links weiter:
http://www.torsten-horn.de/techdocs/ssl.htm
http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html
http://shib.kuleuven.be/docs/ssl_commands.shtml#keytool

Anhand dieser Links, habe ich die CMD-Line zusammenbebastelt

Gruß Dieter
Bitte warten ..
Mitglied: 76109
27.09.2010 um 19:53 Uhr
Hallo Michael!

Bezugnehmend auf die PN vom 27.09. habe ich die Einfügfunktion in das letzte Zertifikat-Export-Skript vom 11.09. mit eingebaut.

Neu hinzugekommen sind die Codezeilen 4/5 und/oder geändert sind die Codezeilen 15-23.

Der Tag in Codezeile 4 (TextReplace) wird in der Xml-Datei durch die Codezeile 5 (TextInsert) ersetzt.
01.
Const XmlPath = "E:\Test\Import.xml" 
02.
Const CerPath = "E:\Test\Export.cer" 
03.
 
04.
Const TextReplace = "</CommConf>" 
05.
Const TextInsert =  "<RegisterClient PreferredGroup=""My Company\Servers"" PreferredMode=""1""/>" 
06.
 
07.
Const Msg0 = "Das Zertifikat wurde erfolgreich exportiert." 
08.
Const Msg1 = "Das Zertifikat konnte nicht exportiert werden!" 
09.
 
10.
Dim Re, Fso, XmlFile, CerFile, XmlText, CerText, NewText 
11.
 
12.
Set Re = New RegExp 
13.
Set Fso = CreateObject("Scripting.FileSystemObject") 
14.
     
15.
Set XmlFile = Fso.OpenTextFile(XmlPath) 
16.
 
17.
XmlText = XmlFile.ReadAll 
18.
 
19.
NewText = TextInsert &  vbCrLf & "</CommConf>" 
20.
 
21.
XmlText = Replace(XmlText, TextReplace, NewText, 1 , -1, vbTextCompare) 
22.
     
23.
Set XmlFile = Fso.CreateTextFile(XmlPath) 
24.
     
25.
XmlFile.Write XmlText:  XmlFile.Close 
26.
	 
27.
With Re 
28.
   .Global = False 
29.
   .IgnoreCase = True 
30.
   .Pattern = "<Certificate Name=[^>]+>([^<]*)</Certificate>" 
31.
End With 
32.
                                                           
33.
With Re.Execute(XmlText) 
34.
    If .Count = 1 Then 
35.
        With .Item(0).Submatches 
36.
            If .Count = 1 Then 
37.
                CerText = Replace(.Item(0), "&#xd;", "") 
38.
                   
39.
                Set CerFile = Fso.CreateTextFile(CerPath) 
40.
 
41.
                With CerFile 
42.
                    .WriteLine "-----BEGIN CERTIFICATE-----" 
43.
                    .Write CerText & vbCrLf 
44.
                    .WriteLine "-----END CERTIFICATE-----" 
45.
                    .Close 
46.
                End With 
47.
                    
48.
                MsgBox Msg0, vbInformation, "Meldung" 
49.
            Else 
50.
                MsgBox Msg1, vbExclamation, "Fehler" 
51.
            End If 
52.
        End With 
53.
    Else 
54.
        MsgBox Msg1, vbExclamation, "Fehler" 
55.
    End If 
56.
End With
oder
01.
Const XmlPath = "E:\Test\Import.xml" 
02.
 
03.
Const TextReplace = "</CommConf>" 
04.
Const TextInsert =  "<RegisterClient PreferredGroup=""My Company\Servers"" PreferredMode=""1""/>" 
05.
 
06.
Dim Fso, XmlFile, XmlText, NewText 
07.
 
08.
Set Fso = CreateObject("Scripting.FileSystemObject") 
09.
     
10.
Set XmlFile = Fso.OpenTextFile(XmlPath) 
11.
 
12.
XmlText = XmlFile.ReadAll 
13.
 
14.
NewText = TextInsert &  vbCrLf & TextReplace 
15.
 
16.
XmlText = Replace(XmlText, TextReplace, NewText, 1 , -1, vbTextCompare) 
17.
     
18.
Set XmlFile = Fso.CreateTextFile(XmlPath) 
19.
     
20.
XmlFile.Write XmlText:  XmlFile.Close
Gruß Dieter

[edit] Code geändert [/edit]
Bitte warten ..
Mitglied: Dexter91
28.09.2010 um 09:09 Uhr
Hallo Dieter,

vielen Dank für deine erneute schnelle Hilfe.

Leider scheint das Script nicht zu funktionieren.
Es erscheint eine Fehlermeldung, welche besagt, dass im Code bei Zeile 19 ein Fehler aufgetreten ist (Fehler: Typen unverträglich).

Hättest du da eine Idee woran es liegen könnte?

Da ich nicht so gut im Programmieren bin und das Script doch recht umfangreich ist und ehrlich gesagt auch mehr kann als es sollte, wäre ich sehr froh, wenn du da noch einmal drüber gucken könntest.

Vielleicht könnte man das Script auch vereinfachen, denn es soll einzig und alleine den Textabschnitt "<RegisterClient PreferredGroup="My Company\Servers" PreferredMode="1"/>" zwischen der Zeile "<LogSetting MaxLogRecords="100" SendingLogAllowed="1" UploadProcessLog="1" UploadRawLog="1" UploadSecurityLog="1" UploadSystemLog="1" UploadTrafficLog="1"/>" und der Zeile "</CommConf>" schreiben und darauf die bearbeitete SyLink.xml wieder abspeichern.

Das Bild der SyLink.xml ist oben im Beitrag im Originalzustand mit den beiden Zeilen zu finden, zwischen denen die Zeile "<RegisterClient PreferredGroup="My Company\Servers" PreferredMode="1"/>" eingefügt werden soll.

Schönen Gruß

Michael
Bitte warten ..
Mitglied: 76109
28.09.2010 um 11:00 Uhr
Hallo Michael!

Zitat von Dexter91:
Leider scheint das Script nicht zu funktionieren.
Es erscheint eine Fehlermeldung, welche besagt, dass im Code bei Zeile 19 ein Fehler aufgetreten ist (Fehler: Typen
unverträglich).
Sorry, da habe ich leider was übersehen. Den letzten Code habe ich entsprechend geändert und sollte jetzt funktionieren
Du hast jetzt freie Auswahl entweder im Zertikate-Export-Skript integriert oder als seperates Skript.
Das Bild der SyLink.xml ist oben im Beitrag im Originalzustand mit den beiden Zeilen zu finden, zwischen denen die Zeile
"<RegisterClient PreferredGroup="My Company\Servers" PreferredMode="1"/>"
eingefügt werden soll.
Originalzustand stimmt wohl nicht ganz, denn da war doch noch die Sache mit den "&#xd;", die laut Aussage von Martin erst im Notepad++ sichtbar waren

Gruß Dieter
Bitte warten ..
Mitglied: Dexter91
28.09.2010 um 11:08 Uhr
Hallo Dieter,

wunderbar, es funktioniert alles einwandfrei
Schön, dass es Leute wie dich gibt die Anderen bei solchen Problemen mit aller Kraft helfen und immer einen Tipp parat haben

Jetzt werde ich alles mal zusammen basteln und es genauestens testen und danach dann in den nächsten Tagen die komplette Lösung veröffentlichen, so dass andere auch noch etwas davon haben

Schöne Grüße und vielen Dank von meiner Seite aus.

Michael
Bitte warten ..
Mitglied: 76109
28.09.2010 um 11:26 Uhr
Hallo Michael!

Zitat von Dexter91:
wunderbar, es funktioniert alles einwandfrei
Freut mich
Schön, dass es Leute wie dich gibt die Anderen bei solchen Problemen mit aller Kraft helfen und immer einen Tipp parat haben
So bleibt man selbst im Training und lernt auch dazu
Jetzt werde ich alles mal zusammen basteln und es genauestens testen und danach dann in den nächsten Tagen die komplette
Lösung veröffentlichen, so dass andere auch noch etwas davon haben
Würde mich freuen
Schöne Grüße und vielen Dank von meiner Seite aus.
Yepp gern geschehen

Gruß Dieter
Bitte warten ..
Mitglied: Memphis81
15.10.2010 um 14:22 Uhr
So... wir sind damit durch =) Ich habe den text noch ein wenig aktualisiert und unsere fertigen Scripte hinzugefügt. Vielen Dank nochmal für deine Hilfe Dieter =)
Bitte warten ..
Mitglied: 76109
16.10.2010 um 13:29 Uhr
Hallo Martin!

Zitat von Memphis81:
So... wir sind damit durch =) Ich habe den text noch ein wenig aktualisiert und unsere fertigen Scripte hinzugefügt. Vielen
Dank nochmal für deine Hilfe Dieter =)
Freut mich, dass es nun endlich doch noch funktioniert

Bei den beiden angegebenen Links hast Du allerdings 2 mal das gleiche Script zum Download bereitgestellt (CopyFile). Das nur so am Rande

Gruß Dieter
Bitte warten ..
Mitglied: Memphis81
20.10.2010 um 12:30 Uhr
Uuupssss!!!!! ^^ Da war wohl der Fehlerteufel "copy/paste am Werk" =)

*aktualisiert* =)
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
gelöst Mit VBA im Monatskalender Datum suchen - aus anderer Datei einfügen (6)

Frage von Otto1699 zum Thema VB for Applications ...

XML
XML Datei Fehler? (1)

Frage von Patrick-IT zum Thema XML ...

Batch & Shell
Script zum XML Datei Umschreiben (12)

Frage von cberndt zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel Pdf Datei als Icon Symbol in Word einfügen per Drag and drop? (4)

Frage von Geforce zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...