Sample code for 30+ languages & platforms
Swift

Duplicate openssl pkcs12 –export –in certfile.cer –inkey certfile.key –out certfile.pfx

See more OpenSSL Examples

How to create a PKCS12 (.p12 or .pfx) from a certificate file and private key file: Demonstrates how to duplicate this OpenSSL command:
Duplicate openssl pkcs12 –export –in certfile.cer –inkey certfile.key –out certfile.pfx

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

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

    let pkey = CkoPrivateKey()!

    // Load the private key from the file.
    success = pkey.loadAnyFormatFile(path: "certFile.key", password: "")
    if success != true {
        print("\(pkey.lastErrorText!)")
        return
    }

    let cert = CkoCert()!
    // The LoadFromFile method auto-recognizes the format...
    success = cert.load(fromFile: "certfile.cer")
    if success != true {
        print("\(cert.lastErrorText!)")
        return
    }

    // We'll need a cert chain object to create the PKCS12, so get it
    // from the cert.  
    var certChain: CkoCertChain?
    certChain = cert.getChain()
    if !cert.lastMethodSuccess {
        print("\(cert.lastErrorText!)")
        return
    }

    // Create the PFX object, add the cert and private key, and write to a .pfx file.
    let pfx = CkoPfx()!

    // The cert(s) are automatically added in the call to AddPrivateKey
    success = pfx.addPrivateKey(privKey: pkey, certChain: certChain)
    if success != true {
        print("\(pfx.lastErrorText!)")
        return
    }

    // Write the .pfx to a file.
    var password: String? = "myPassword"
    success = pfx.toFile(password: password, path: "certfile.pfx")
    if success != true {
        print("\(pfx.lastErrorText!)")
        return
    }

    print("Success.")

}