Loading pfx file to certificate store - WeOnlyDo Discussion board

Loading pfx file to certificate store (wodFTPServer)

by Chris, Saturday, November 11, 2006, 12:14 (6587 days ago)

I have generated a certificate.pfx file and want to automatically load it/install to windows certificate store. Is it possible to do this programmatically with WodCertificate component?

Re: Loading pfx file to certificate store

by wodDamir, Saturday, November 11, 2006, 12:28 (6587 days ago) @ Chris

Hi Chris,

You will have to install the certificate manually, but you can make FTPServer to load it automatically afterwards by just pointing the component towards the Certificate. You can do something like this (VB6):
---------------------------------
Dim location As CertLocation
Set location = New CertLocation

Dim cer As Certificate
Set cer = location(CurrentUser).Item( My ).Item( localhost )
---------------------------------

Just set up the Application to load the certificate on startup, and it should work.

Regards,
Damba

Re: Loading pfx file to certificate store

by Chris, Saturday, November 11, 2006, 17:17 (6587 days ago) @ wodDamir

Thanks.

Using the code, I want to check the OS store to see if my cert is already installed.

Dim location As CertLocation
Set location = New CertLocation

Dim cer As Certificate
Set cer = location(CurrentUser).Item( My ).Item( MyCert )

If cer.CommonName <> MyCert Then SomeRoutine....

If cert MyCert was in the OS store, I would have thought I could check its common name but all I get is an Object variable or with block not set

Any ideas on how to fix this?

Chris

Re: Loading pfx file to certificate store

by wodDamir, Saturday, November 11, 2006, 17:55 (6587 days ago) @ Chris

Chris,

Where exatly do you get this error? This is probably an error with object initialization.

I don't think this is the error in this code. Perhaps you have tried to use the certificate, but didn't set server's Certificate Property to the Certificate object before you call Start Method. You can do it like this:
--------------------------
Set FtpD.Certificate = cer
--------------------------

I.e, you can try this code:
--------------------------
Dim WithEvents FtpD As wodFTPDCom
Dim location As CertLocation

Private Sub Form_Load()
Set FtpD = New wodFTPDCom
Set location = New CertLocation

Dim cer As Certificate
Set cer = location(CurrentUser).Item( My ).Item( localhost )
MsgBox cer.CommonName
If cer Is Nothing Then
Beep
Else
Set FtpD.Certificate = cer
FtpD.Protocol = FTPS
FtpD.Start
End If
End Sub
--------------------------
I get a message box saying Certificate's CommonName, and after that everything works like a charm.

The If statement in this case is just to check if certificate is actually loaded, and if it is, then we load it into the FTPD Object.

If this sample code still doesn't work, can you please contact me on techsupport@weonlydo.com ?

Regards,
Damba