Titkosítás
Egesz nap olvasgattam az RSA public / private key pair, titkositas, CAPICOM, Certificate, EnvelopedData, PFX fajlokrol. Adott egy PFX fajlom, amit cipher paranncsal csinaltam. Csak, hogy legyen valami.
Ezt be is tudom tolteni kb igy:
set oCert = Createobject("CAPICOM.Certificate")
oCert.Load "e:\teszt\teszt.pfx", "a nagyontitkosjelmondat",CAPICOM_KEY_STORAGE_USER_PROTECTED,CAPICOM_CURRENT_USER_KEY
Ezt kellene valahogy felhasznalni gondolom en, hogy titkositsak a publickey-evel valamit. Itt lett teljes a kaosz, mert tul sok az informacio, de csak .Net kornyezetben. En viszont mindezt perverz okokbol vbscriptbol szeretnem, ha lehet. Abbol ugyanis tovabb lehetne vinni VFP vagy VB ala.
Az EnvelopedData szimpatikusnak tunt az egyszerusege miatt. Veszunk egy ilyen objektumot, adunk neki tartalmat, meg cimzetteket es a vegen meghivjuk az encrypt metodusat. A szimmetrikus kulcsot automatikusan legeneralja. Ezzel fogja a tartalmat titkositani. A cimzettek bizonyitvanyaibol a publikus kulcsot automatikusan kiszedi es a szimmetrikus kulcsot ezzel titkositja. A default beallitasai hat hagynak nemi kifogasolni valot. Nem artana az algoritmuson es a kulcs hosszan kicsit hangolni.
set oEnvelope = createobject("CAPICOM.EnvelopedData")
oEnvelope.Algorithm.Name= CAPICOM_ENCRYPTION_ALGORITHM_AES oEnvelope.Algorithm.KeyLength=CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM
oEnvelope.Content="Ez a nagyon titkos informacio"
oEnvelope.Recipients.Add oCert
sTitok=oEnvelope.Encrypt(CAPICOM_ENCODE_BASE64)
Az igy kapott titok PKCS #7 formatumu. Ez persze nekem nem sokat mond, mert nem voltam a Marci PKI tanfolyasan (Netacademia).
Visszanyerni az adatokat mar semmi. Kell hozza egy EnvelopedData es meg kell hivni a decrypt metodusat egy parameterrel.
Set EnvelopedData = CreateObject("CAPICOM.EnvelopedData")
EnvelopedData.Decrypt sTitok
wscript.echo "Immar nem titok: " & EnvelopedData.Content
De ahhoz, hogy ez mukodjon, a private key-nek elerhetonek kell lennie, nem mashonnan mint a sajat gep "My" vagy az aktualis juzer "My" bizonyitvany tarabol. Na de ha ez nincs meg, akkor mi van?
Egesz nap olvasgattam az RSA public / private key pair, titkositas, CAPICOM, Certificate, EnvelopedData, PFX fajlokrol. Adott egy PFX fajlom, amit cipher paranncsal csinaltam. Csak, hogy legyen valami.
Ezt be is tudom tolteni kb igy:
set oCert = Createobject("CAPICOM.Certificate")
oCert.Load "e:\teszt\teszt.pfx", "a nagyontitkosjelmondat",CAPICOM_KEY_STORAGE_USER_PROTECTED,CAPICOM_CURRENT_USER_KEY
Ezt kellene valahogy felhasznalni gondolom en, hogy titkositsak a publickey-evel valamit. Itt lett teljes a kaosz, mert tul sok az informacio, de csak .Net kornyezetben. En viszont mindezt perverz okokbol vbscriptbol szeretnem, ha lehet. Abbol ugyanis tovabb lehetne vinni VFP vagy VB ala.
Az EnvelopedData szimpatikusnak tunt az egyszerusege miatt. Veszunk egy ilyen objektumot, adunk neki tartalmat, meg cimzetteket es a vegen meghivjuk az encrypt metodusat. A szimmetrikus kulcsot automatikusan legeneralja. Ezzel fogja a tartalmat titkositani. A cimzettek bizonyitvanyaibol a publikus kulcsot automatikusan kiszedi es a szimmetrikus kulcsot ezzel titkositja. A default beallitasai hat hagynak nemi kifogasolni valot. Nem artana az algoritmuson es a kulcs hosszan kicsit hangolni.
set oEnvelope = createobject("CAPICOM.EnvelopedData")
oEnvelope.Algorithm.Name= CAPICOM_ENCRYPTION_ALGORITHM_AES oEnvelope.Algorithm.KeyLength=CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM
oEnvelope.Content="Ez a nagyon titkos informacio"
oEnvelope.Recipients.Add oCert
sTitok=oEnvelope.Encrypt(CAPICOM_ENCODE_BASE64)
Az igy kapott titok PKCS #7 formatumu. Ez persze nekem nem sokat mond, mert nem voltam a Marci PKI tanfolyasan (Netacademia).
Visszanyerni az adatokat mar semmi. Kell hozza egy EnvelopedData es meg kell hivni a decrypt metodusat egy parameterrel.
Set EnvelopedData = CreateObject("CAPICOM.EnvelopedData")
EnvelopedData.Decrypt sTitok
wscript.echo "Immar nem titok: " & EnvelopedData.Content
De ahhoz, hogy ez mukodjon, a private key-nek elerhetonek kell lennie, nem mashonnan mint a sajat gep "My" vagy az aktualis juzer "My" bizonyitvany tarabol. Na de ha ez nincs meg, akkor mi van?
Megjegyzések