Sample code for 30+ languages & platforms
Classic ASP

Load PKCS12 / PFX and Access Contents

See more PFX/P12 Examples

Loads a PKCS12 / PFX file and iterates over the contents which include private keys and certificates.

Chilkat Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0

set pfx = Server.CreateObject("Chilkat.Pfx")

' Load the PKCS12 from a file
success = pfx.LoadPfxFile("/someDir/my.p12","pfxFilePassword")
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( pfx.LastErrorText) & "</pre>"
    Response.End
End If

numPrivateKeys = pfx.NumPrivateKeys

set privKey = Server.CreateObject("Chilkat.PrivateKey")

Response.Write "<pre>" & Server.HTMLEncode( "Private Keys:") & "</pre>"

i = 0
Do While i < numPrivateKeys
    success = pfx.PrivateKeyAt(i,privKey)

    ' Do something with the private key ...

    i = i + 1
Loop

set cert = Server.CreateObject("Chilkat.Cert")

numCerts = pfx.NumCerts

Response.Write "<pre>" & Server.HTMLEncode( "Certs:") & "</pre>"
i = 0
Do While i < numCerts
    success = pfx.CertAt(i,cert)
    Response.Write "<pre>" & Server.HTMLEncode( cert.SubjectDN) & "</pre>"

    ' If the certificate has a private key (one of the private keys within the PFX)
    ' then it can also be obtained via the certificate object:
    If (cert.HasPrivateKey() = 1) Then

        Response.Write "<pre>" & Server.HTMLEncode( "Has private key!") & "</pre>"

        success = cert.GetPrivateKey(privKey)
        ' ...

    End If

    i = i + 1
Loop

%>
</body>
</html>