Sample code for 30+ languages & platforms
Classic ASP

Use Installed Cert on Windows for TLS Client Authentication

See more HTTP Examples

Demonstrates how to use a certificate that has already been installed on a Windows PC for TLS client authentication.

Chilkat Classic ASP Downloads

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

' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

set http = Server.CreateObject("Chilkat.Http")

' On Windows, a pre-installed certificate can be loaded in a number of different ways.
' This example loads by the common name:
set cert = Server.CreateObject("Chilkat.Cert")
success = cert.LoadByCommonName("My ECA Medium Assurance Identity Certificate")
If (success <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode( cert.LastErrorText) & "</pre>"
    Response.End
End If

' Make sure this certificate has a private key available.  
' It should be a private key such that when the certificate was installed, it was marked as "exportable"
' so that authorized programs are able to access the private key.
If (cert.HasPrivateKey() <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode( "A private key is needed for TLS client authentication.") & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( "This certificate has no private key.") & "</pre>"
    Response.End
End If

' Set the certificate to be used for mutual TLS authentication
' (i.e. sets the client-side certificate for two-way TLS authentication)
success = http.SetSslClientCert(cert)
If (success <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode( http.LastErrorText) & "</pre>"
    Response.End
End If

' At this point, the HTTP object instance is setup with the client-side cert, and any SSL/TLS
' connection will automatically use it if the server demands a client-side cert.

%>
</body>
</html>