Go
Go
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 Go Downloads
success := false
pfx := chilkat.NewPfx()
// Load the PKCS12 from a file
success = pfx.LoadPfxFile("/someDir/my.p12","pfxFilePassword")
if success == false {
fmt.Println(pfx.LastErrorText())
pfx.DisposePfx()
return
}
numPrivateKeys := pfx.NumPrivateKeys()
privKey := chilkat.NewPrivateKey()
fmt.Println("Private Keys:")
i := 0
for i < numPrivateKeys {
pfx.PrivateKeyAt(i,privKey)
// Do something with the private key ...
i = i + 1
}
cert := chilkat.NewCert()
numCerts := pfx.NumCerts()
fmt.Println("Certs:")
i = 0
for i < numCerts {
pfx.CertAt(i,cert)
fmt.Println(cert.SubjectDN())
// 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() == true {
fmt.Println("Has private key!")
success = cert.GetPrivateKey(privKey)
// ...
}
i = i + 1
}
pfx.DisposePfx()
privKey.DisposePrivateKey()
cert.DisposeCert()