Swift
Swift
RSA Signature with Certificate's Private Key from PFX
See more RSA Examples
Demonstrates how to use a certificate's private key from a PFX file to create an RSA signature.Chilkat Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Create an instance of a certificate store object, load a PFX file,
// locate the certificate we need, and use it for signing.
// (a PFX file may contain more than one certificate.)
let certStore = CkoCertStore()!
// The 1st argument is the filename, the 2nd arg is the
// PFX file's password:
success = certStore.loadPfxFile(path: "chilkat.pfx", password: "test")
if success == false {
print("\(certStore.lastErrorText!)")
return
}
// Find the certificate by the subject common name:
let jsonCN = CkoJsonObject()!
jsonCN.updateString(jsonPath: "CN", value: "cert common name")
let cert = CkoCert()!
success = certStore.findCert(json: jsonCN, cert: cert)
if success == false {
print("\(certStore.lastErrorText!)")
return
}
let privKey = CkoPrivateKey()!
success = cert.getPrivateKey(privKey: privKey)
if success == false {
print("\(cert.lastErrorText!)")
return
}
let rsa = CkoRsa()!
success = rsa.usePrivateKey(privKey: privKey)
if success == false {
print("\(rsa.lastErrorText!)")
return
}
// Encode the signature as a hex string
rsa.encodingMode = "hex"
var strData: String? = "This is the string to be signed."
// Sign the string using the sha-1 hash algorithm.
// Other valid choices are "sha-256", "md2" and "md5".
var hexSig: String? = rsa.signStringENC(str: strData, hashAlg: "sha-1")
print("\(hexSig!)")
print("Success!")
}