VBScript: gestire certificati SSL

by luca
0 comment

Ieri al lavoro ho avuto la necessità di realizzare uno script per controllare la presenza di un certificato SSL nello store dell’utente e – se non presente – di importarlo automaticamente…

CAPICOM

CAPICOM è un controllo ActiveX che espone, tramite Microsoft COM, un insieme di funzioni presenti nelle CryptoAPI di Windows.

In VBScript, possiamo quindi utilizzare CreateObject per avere una istanza dell’oggetto store:

Set store = CreateObject("CAPICOM.Store")

Con il metodo open possiamo aprire un particolare store.

Gli stores disponibili sono definiti da costanti:

Const CAPICOM_MEMORY_STORE				= 0
Const CAPICOM_LOCAL_MACHINE_STORE			= 1
Const CAPICOM_CURRENT_USER_STORE 			= 2
Const CAPICOM_ACTIVE_DIRECTORY_USER_STORE 		= 3
Const CAPICOM_SMART_CARD_USER_STORE			= 4

così come le modalità di apertura:

Const CAPICOM_STORE_OPEN_READ_ONLY 		= 0
Const CAPICOM_STORE_OPEN_READ_WRITE 		= 1
Const CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED 	= 2
Const CAPICOM_STORE_OPEN_EXISTING_ONLY		= 128
Const CAPICOM_STORE_OPEN_INCLUDE_ARCHIVED 	= 256

Apriamo ad esempio lo store personale (“My“) in sola lettura:

store.Open CAPICOM_CURRENT_USER_STORE, "My", CAPICOM_STORE_OPEN_READ_ONLY

Possiamo ora ottenere i certificati presenti e, per ognuno, stampare il SubjectName a video:

For Each cert In store.CERTIFICATES
  WScript.Echo cert.SubjectName
Next

o utilizzare i vari metodi dell’oggetto store per importare, esportare, cancellare i certificati…

CAPICOM non è presente nei sistemi operativi Windows a 64bit… Ryan Hurts in questo post spiega come sia possibile installarlo e utilizzarlo anche su tali S.O.

Related Posts

Leave a Comment

sette + 2 =