Sample code for 30+ languages & platforms
Swift

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 Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    let pfx = CkoPfx()!

    // Load the PKCS12 from a file
    success = pfx.loadFile(path: "/someDir/my.p12", password: "pfxFilePassword")
    if success == false {
        print("\(pfx.lastErrorText!)")
        return
    }

    var numPrivateKeys: Int = pfx.numPrivateKeys.intValue

    let privKey = CkoPrivateKey()!

    print("Private Keys:")

    var i: Int = 0
    while i < numPrivateKeys {
        pfx.privateKey(at: i, privKey: privKey)

        // Do something with the private key ...

        i = i + 1
    }

    let cert = CkoCert()!

    var numCerts: Int = pfx.numCerts.intValue

    print("Certs:")
    i = 0
    while i < numCerts {
        pfx.cert(at: i, cert: cert)
        print("\(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 {

            print("Has private key!")

            success = cert.getPrivateKey(privKey: privKey)
            // ...

        }

        i = i + 1
    }


}