PFX-Datei importieren

Hallo. ich hab folgende Frage:
Warum wird die pfx-Datei nicht importiert??

option explicit
'on error resume next

dim TemplateName, importName, importFolderPath, verbose, passwort, passwortcommit, WshNetwork, test

Set WshNetwork = wscript.CreateObject("WScript.Network")

passwort = inputbox ("Bitte geben Sie ein Passwort","Passwort eingeben")
passwortcommit = inputbox ("Bitte geben Sie nochmals das Passwort ein","Passwort bestätigen")
importFolderPath = "C:\Documents and Settings\"+WshNetwork.UserName+"\Desktop\"
importName = "test.pfx"
test = importFolderPath + importName

if (passwort = passwortcommit) then
wscript.echo "Passwort ident!"
else
wscript.echo "Passwort nicht ident. Starten Sie die Anwendung erneut!"
wscript.quit
end if

dim certObj, certStore

CONST CAPICOM\_KEY\_STORAGE\_DEFAULT = 1
CONST CAPICOM\_CURRENT\_USER\_KEY = 1

set certStore = wscript.CreateObject("CAPICOM.Store")
certStore.open 2, "MY", 0
for each certObj in certStore.Certificates
certObj.Load test, passwortcommit, CAPICOM\_KEY\_STORAGE\_DEFAULT, CAPICOM\_CURRENT\_USER\_KEY
Next

set certStore = Nothing
on error goto 0

der for each durchlauf funktioniert. jedoch wird die datei nie importiert?? warum den nicht…syntax-fehler oder dergleichen kommen auch nicht…hab ich sonst was falsch?

danke und gruss,
sebastian

Hallo,

nur eine wage Vermutung.

Du declarierst alla

Dim a,b,c,d

Du weisst schon das dann der Datentyp Variant ist?
Welche Datentypen werden denn erwartet?
Was macht genau die Load Anweisung?

MFG ALex

Hi Anno,

Du declarierst alla

Dim a,b,c,d

Du weisst schon das dann der Datentyp Variant ist?

da stehen auch keine Prozeduren … das sieht stark nach VBS aus und da geht die Deklaration nur so.

Gruß, Rainer

Hallo Rainer und Anno.

das hast du aber schön erkannt.

ja es ist VBScript (*.vbs). hab ich noch vergessen zu posten…

könnt ihr mir weiterhelfen??

Gruss,
Sebastian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Gibts dafür keine Hilfe??

Hallo Sebstian,

von VBS habe ich gerade so viel Ahnung, daß ich VBS-Code erkennen kann. :smile: Dein Projekt ist für mich zu kompliziert, das verstehe ich noch nicht mal, an helfen ist bei mir an der Stelle nicht zu denken, sorry. Ich kenne die Antwort nicht, die Dir helfen würde.

Gruß, Rainer

OT Passwortabfrage
Hi Sebastian,

passwort = inputbox („Bitte geben Sie ein Passwort“,„Passwort
eingeben“)
passwortcommit = inputbox („Bitte geben Sie nochmals das
Passwort ein“,„Passwort bestätigen“)

if (passwort = passwortcommit) then

Wenn ich 2mal nix eingebe habe ich doch diese Hürde überwunden?

Und der Code läuft auch durch wenn du On Error Resume Next wegläßt?

Gruß
Reinhard

on error goto 0

Hallo Rainer.

trotzdem danke für deine rückantwort.

grüsse,
sebastian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Reinhard,

Wenn ich 2mal nix eingebe habe ich doch diese Hürde
überwunden?

den Teil habe ich verstanden. :smile: Das soll erst mal nur Tippfehler vermeiden. Das Passwort wird später hier verwendet …

certObj.Load test, **passwortcommit** , CAPICOM\_KEY\_STORAGE\_DEFAULT, CAPICOM\_CURRENT\_USER\_KEY

… und wenn es falsch ist wird wohl dann ‚On Error‘ zuschlagen. So lange das Passwort richtig ist, läuft der Code dann auch so durch.

Gruß, Rainer

Wenn ich 2mal nix eingebe habe ich doch diese Hürde
überwunden?

den Teil habe ich verstanden. :smile: Das soll erst mal nur
Tippfehler vermeiden. Das Passwort wird später hier verwendet

certObj.Load test, passwortcommit ,
CAPICOM_KEY_STORAGE_DEFAULT, CAPICOM_CURRENT_USER_KEY

… und wenn es falsch ist wird wohl dann ‚On Error‘
zuschlagen. So lange das Passwort richtig ist, läuft der Code
dann auch so durch.

*aargs*, eben erst gesehen daß da ein Hochkomma vor „On error resume next“ ist :frowning: MyDioptrin=MyDioptrin+1 *gg*

Da erübrigt sich ja was an/in meinem Posting :smile:

test wird doch wohl eine Datei sein, oder soll es das PW darstellen, woher weißt du wofür CAPICOM_KEY_STORAGE_DEFAULT, CAPICOM_CURRENT_USER_KEY stehen?
Also ich sehe da VOR load keine PW-Überprüfung, und die erschiene mir sinnvoller als bei load darauf zu warten daß es scheitert weil das PW falsch ist.

Das eine sieht nach Lagerschlüssel, das andere nach Benutzerschlüssel aus, bin aber nicht beim Schlüsseldienst und kenne mich da wenig aus, sicher , mein Opa zeigte mir wie man einen Dietrich fertigt, aber dmait kann ich nur noch unser Gartenhäuschen öffnen *gg*

Lieben Gruß
Reinhard

Hallo Reinhard,

test wird doch wohl eine Datei sein,

importFolderPath = "C:\Documents and Settings\"+WshNetwork.UserName+"\Desktop\"
importName = "test.pfx"
test = importFolderPath + importName

Pfad (Desktop) und Dateiname.

oder soll es das PW
darstellen, woher weißt du wofür CAPICOM_KEY_STORAGE_DEFAULT,
CAPICOM_CURRENT_USER_KEY stehen?

Gar nicht. :smile: Duirch die Schreibweise sieht es aber aus wie Konstanten. Aber Du hast Recht, da fehlt oben die Deklaration. Das wird wohl das gesuchte Problem sein! … Entwarnung … :frowning:

CONST CAPICOM\_KEY\_STORAGE\_DEFAULT = 1
CONST CAPICOM\_CURRENT\_USER\_KEY = 1

… da sind die Konstanten doch. Gerade noch rechtzeitig.

Also ich sehe da VOR load keine PW-Überprüfung, und die
erschiene mir sinnvoller als bei load darauf zu warten daß es
scheitert weil das PW falsch ist.

Dann müsste das Passwort ja bekannt sein und das steht vermutlich verschlüsselt im Zertifikat. Als Klartext im VBS wäre das ein Sicherheitsrisiko.

Das eine sieht nach Lagerschlüssel, das andere nach
Benutzerschlüssel aus, bin aber nicht beim Schlüsseldienst und
kenne mich da wenig aus, sicher , mein Opa zeigte mir wie man
einen Dietrich fertigt, aber dmait kann ich nur noch unser
Gartenhäuschen öffnen *gg*

Hier geht es um Sicherheitszertifikate. Ich habe mal meine Platte nach .pfx Dateien durchsucht und nur eine gefunden … Elster. :smile:

Gruß, Rainer

Hallo Reinhard.

passwort = inputbox („Bitte geben Sie ein Passwort“,„Passwort
eingeben“)
passwortcommit = inputbox („Bitte geben Sie nochmals das
Passwort ein“,„Passwort bestätigen“)

if (passwort = passwortcommit) then

Wenn ich 2mal nix eingebe habe ich doch diese Hürde
überwunden?

Und der Code läuft auch durch wenn du On Error Resume Next
wegläßt?

Ja stimmt…die Abfrage sieht jetzt so aus:

if (passwort passwortcommit) or (passwort = "") then
 wscript.echo "Wrong Password! Start Script again."
 wscript.quit
end if

war stand vor 1 woche…

Hallo ihr 2.

*.pfx sind zertifikatdateien. z.b. email encryption oder email signature…

mit einem script lass ich mir die aus certmgr.msc exportieren (über vbs)…nun will ich diese importierten pfx-dateien auf einem anderen computer über vbs wieder importieren.

ich weiss jetzt nicht warum ihr da so hin und her redet

hier mal mein stand:

option explicit
'on error resume next

dim importFolderPath, verbose, passwort, passwortcommit, WshNetwork, fs
dim dirs, files, ftmp, importFolderPathtmp

set WshNetwork = wscript.CreateObject("WScript.Network")


passwort = inputbox ("Enter Password.","Password")
passwortcommit = inputbox ("Confirm Password","Password")
importFolderPath = "C:\Certificates\"

set fs = CreateObject("Scripting.FileSystemObject")
set dirs = fs.getfolder(importFolderPath)

if (passwort passwortcommit) or (passwort = "") then
 wscript.echo "Wrong Password! Start Script again."
 wscript.quit
end if

dim Certificate, certStore, fileObj

CONST CAPICOM\_KEY\_STORAGE\_DEFAULT = 1
CONST CAPICOM\_CURRENT\_USER\_KEY = 1

set certStore = wscript.CreateObject("CAPICOM.Store")
certStore.open 2,"MY",1

for each fileObj in dirs.files
for each Certificate in certStore.Certificates
importFolderPathtmp = fileObj.path
Certificate.Load importFolderPathtmp, passwortcommit, CAPICOM\_KEY\_STORAGE\_DEFAULT, CAPICOM\_CURRENT\_USER\_KEY
Next
Next

set certStore = Nothing
on error goto 0

auf der msdn seite gibts einiges nachzulesen, verstehe es aber nicht wirklich und die konstanten sind vordefinierte werte für z.B.
CAPICOM_KEY_STORAGE_DEFAUL steht in der CAPICOM_KEY_STORAGE_FLAG…

die sind vordefiniert.

Die Funktion Certifactes.Load ist eine Vordefinierte Eigenschaft / Funktion für die Collection Certificates.Store…

Jedoch macht er mir garnichts…der compiler bringt keinen syntaxfehler oder einen laufzeitfehler…was auch immer…da zu testen ist sehr schwierig…deshalb echt planlos!!! :frowning:

grüsse,
sebastian

Hallo Sebastian,

*.pfx sind zertifikatdateien. z.b. email encryption oder email
signature…

mit einem script lass ich mir die aus certmgr.msc exportieren
(über vbs)…nun will ich diese importierten pfx-dateien auf
einem anderen computer über vbs wieder importieren.

ich weiss jetzt nicht warum ihr da so hin und her redet

wir unterhalten uns nur über Dein Problem, tauschen Gedanken aus, eventuell hat dabei ja Jemand eine zündende Idee. :smile:

hier mal mein stand:

option explicit
'on error resume next

dim importFolderPath, verbose, passwort, passwortcommit,
WshNetwork, fs
dim dirs, files, ftmp, importFolderPathtmp

set WshNetwork = wscript.CreateObject(„WScript.Network“)

passwort = inputbox („Enter Password.“,„Password“)
passwortcommit = inputbox („Confirm Password“,„Password“)
importFolderPath = „C:\Certificates“

set fs = CreateObject(„Scripting.FileSystemObject“)
set dirs = fs.getfolder(importFolderPath)

if (passwort passwortcommit) or (passwort = „“) then
wscript.echo „Wrong Password! Start Script again.“
wscript.quit
end if

dim Certificate, certStore, fileObj

CONST CAPICOM_KEY_STORAGE_DEFAULT = 1
CONST CAPICOM_CURRENT_USER_KEY = 1

set certStore = wscript.CreateObject(„CAPICOM.Store“)
certStore.open 2,„MY“,1

for each fileObj in dirs.files
for each Certificate in certStore.Certificates
importFolderPathtmp = fileObj.path
Certificate.Load importFolderPathtmp, passwortcommit,
CAPICOM_KEY_STORAGE_DEFAULT, CAPICOM_CURRENT_USER_KEY
Next
Next

set certStore = Nothing
on error goto 0

auf der msdn seite gibts einiges nachzulesen, verstehe es aber
nicht wirklich und die konstanten sind vordefinierte werte für
z.B.
CAPICOM_KEY_STORAGE_DEFAUL steht in der
CAPICOM_KEY_STORAGE_FLAG…

die sind vordefiniert.

Ja, ist klar.

Die Funktion Certifactes.Load ist eine Vordefinierte
Eigenschaft / Funktion für die Collection
Certificates.Store…

Auch das habe ich verstanden. An der Stelle steckt auch das Problem, warum ich nicht so recht helfen kann. Die Funktion kenne ich nicht, ob sie mein Computer kennt, weiß ich nicht. Ich kann auch nichts testen, weil ich keine passenden Dateien zum Verarbeiten habe.

Man könnte das Ganze ja mal mit der Entwicklungsumgebung von VB6 laufen lassen, dann hat man einen Debugger. Ohne wird das mühselig herauszufinden, was genau nicht klappt, ob die richtigen Pfade und Parameter an die Funktion übergeben werden.

Jedoch macht er mir garnichts…der compiler bringt keinen
syntaxfehler oder einen laufzeitfehler…was auch immer…da
zu testen ist sehr schwierig…deshalb echt planlos!!! :frowning:

Ja, das ist mir klar. Ohne Debugger mußt Du Dir an ein paar markanten Stellen per MessageBox den Inhalt von relevanten Variablen anzeigen lassen und nachsehen, ob der Inhalt so richtig sein kann. Sorry, mehr weiß ich leider auch nicht. :frowning:

Gruß, Rainer

Hi Sebastian,

*.pfx sind zertifikatdateien. z.b. email encryption oder email
signature…

aha, ich hatte jetzt nur bei http://www.wotsit.org/ geschaut was das sein könnte.

mit einem script lass ich mir die aus certmgr.msc exportieren
(über vbs)…nun will ich diese importierten pfx-dateien auf
einem anderen computer über vbs wieder importieren.

Kann ich folgen.

ich weiss jetzt nicht warum ihr da so hin und her redet

Naja, du hast da italienischen (vbs) Text mit Übersetzungsfehlern, Rainer kann perfekt Englisch, ich ein bißchen Spanisch, wir plaudern halt über einzelne italienische Sätze, ob da zu bohren wäre um Fehler zu finden.
Alternative wäre, wir sagen, Italienisch können wir nicht und Fin.

auf der msdn seite gibts einiges nachzulesen, verstehe es aber
nicht wirklich und die konstanten sind vordefinierte werte für
z.B.
CAPICOM_KEY_STORAGE_DEFAUL steht in der
CAPICOM_KEY_STORAGE_FLAG…
die sind vordefiniert.

Rainer kann Englisch, gibts da einen genauen Link zu Msdn?

Die Funktion Certifactes.Load ist eine Vordefinierte
Eigenschaft / Funktion für die Collection
Certificates.Store…

Naja, auch wenn MS etwas auf Deutsch erklärt verstehe ich leider oft recht wenig :frowning:

Jedoch macht er mir garnichts…der compiler bringt keinen
syntaxfehler oder einen laufzeitfehler…was auch immer…da
zu testen ist sehr schwierig…deshalb echt planlos!!! :frowning:

Glaube ich dir. So was oder Fehler die nur grundlos sporadisch kommen machen einen kirre:frowning:

Gruß
Reinhard

Hallo Reinhard.

*.pfx sind zertifikatdateien. z.b. email encryption oder email
signature…

aha, ich hatte jetzt nur bei http://www.wotsit.org/ geschaut
was das sein könnte.

siehe certmgr.msc > Eigene Zertifikate > Zertifikate > Rechtsklick auf Zert. > alle tasks > exportieren > das siehst du alle möglichen export-extensions (cer, pfx, usw.)…

mit einem script lass ich mir die aus certmgr.msc exportieren
(über vbs)…nun will ich diese importierten pfx-dateien auf
einem anderen computer über vbs wieder importieren.

Kann ich folgen.

ich weiss jetzt nicht warum ihr da so hin und her redet

Naja, du hast da italienischen (vbs) Text mit
Übersetzungsfehlern, Rainer kann perfekt Englisch, ich ein
bißchen Spanisch, wir plaudern halt über einzelne italienische
Sätze, ob da zu bohren wäre um Fehler zu finden.
Alternative wäre, wir sagen, Italienisch können wir nicht und
Fin.

k…dann war mir das zu hoch? :smile: oder zu „desconcertante“!!

auf der msdn seite gibts einiges nachzulesen, verstehe es aber
nicht wirklich und die konstanten sind vordefinierte werte für
z.B.
CAPICOM_KEY_STORAGE_DEFAUL steht in der
CAPICOM_KEY_STORAGE_FLAG…
die sind vordefiniert.

Rainer kann Englisch, gibts da einen genauen Link zu Msdn?

http://msdn2.microsoft.com/en-us/library/aa380256.aspx

da müsstes du eigentlich alles finden, was dafür nötig wäre…

Die Funktion Certifactes.Load ist eine Vordefinierte
Eigenschaft / Funktion für die Collection
Certificates.Store…

Naja, auch wenn MS etwas auf Deutsch erklärt verstehe ich
leider oft recht wenig :frowning:

ich hab dasselbe problem…die reden um den heissen brei :frowning:

Jedoch macht er mir garnichts…der compiler bringt keinen
syntaxfehler oder einen laufzeitfehler…was auch immer…da
zu testen ist sehr schwierig…deshalb echt planlos!!! :frowning:

Glaube ich dir. So was oder Fehler die nur grundlos sporadisch
kommen machen einen kirre:frowning:

*g*

schönen tag.

gruss,
sebastian

Hallo Rainer.

Es gibt die möglichkeit vbs-scripte zu debuggen und zwar…geh in cmd, dann schreib cscript //X [DATEI]…meistens wird der ms script editor gestartet (sofern installiert) jetzt mit F11 von zeile zu zeile…

falls du vielleicht eigene zertifikate hast, siehe certmgr.msc -> eigene zert -> zert. -> ist in der liste ein zert vorhanden?

wenn ja:
rechtsklick auf zert -> alle tasks -> exportieren -> datei mit endung pfx. auswählen -> fertig

wenn nein:
*wein*

schönen tag.

gruss,
sebastian

Hallo,

Es gibt die möglichkeit vbs-scripte zu debuggen und zwar…geh
in cmd, dann schreib cscript //X [DATEI]…meistens wird der
ms script editor gestartet (sofern installiert)

nein, ist nicht installiert. Mit VBS beschäftige ich mich nur hier im Brett, wenn ich mal ein Beispiel tippe, genügt meist das Notepad. In Sonderfällen bemühe ich dann auch mal meine VB6.0 IDE, da läuft VBS-Code ja auch. VB ist da flexibel. Nur muß ich eben alle Komponenten haben …

jetzt mit F11
von zeile zu zeile…

falls du vielleicht eigene zertifikate hast, siehe certmgr.msc
-> eigene zert -> zert. -> ist in der liste ein zert
vorhanden?

wenn ja:
rechtsklick auf zert -> alle tasks -> exportieren ->
datei mit endung pfx. auswählen -> fertig

wenn nein:
*wein*

Leiter nein. :frowning: Noch nicht mal in der Firma. Privat habe ich eine .pfx auf dem Rechner, vom Elster-Formular. Nützt uns das was? Wenn ich zu Hause bin (habe gerade mal den Urlaub unterbrochen um in der FA ein Problemchen zu beseitigen) werde ich den Code mal in mein VB laden und sehen, was der mit dem Elster-Zertifikat anfängt. Aber das Passwort? Muß ich mal suchen, muß in einer Mail stehen. :smile:

Gruß, Rainer

Hallo Rainer.

Leiter nein. :frowning: Noch nicht mal in der Firma. Privat habe ich
eine .pfx auf dem Rechner, vom Elster-Formular. Nützt uns das
was? Wenn ich zu Hause bin (habe gerade mal den Urlaub
unterbrochen um in der FA ein Problemchen zu beseitigen) werde
ich den Code mal in mein VB laden und sehen, was der mit dem
Elster-Zertifikat anfängt. Aber das Passwort? Muß ich mal
suchen, muß in einer Mail stehen. :smile:

je nach dem, ob du dieses elster-zert (wo ich nicht kenne) exportieren kannst, dann ja…sollte eine pfx-datei werden…sprich exportformat…sonst nimm das cer format…

das pwt, das abgefragt wird, also aus den inputboxen…greift nicht auf das pwt im zert zurück, nur zum verschlüsseln auf der festplatte…das das nicht jeder verwenden kann, sprich importieren…

möglicherweise beim export wird, wenn private key vorhanden ein passwort verlangt, dass musst du dann suchen.

danke für dein bemühen.

grüsse,
sebastian

THEMA NICHT MEHR AKTUELL???