Encryption facilities that come in handy.
These can be used without an additional OpenSSL library, meaning you don't need to add OpenSSL to your app; these facilities rely solely on methods officially exposed by iOS's
Data, to be encrypted or decrypted using RSA or AES algorithms.
- X509 public key certificate file to use for RSA encryption.
Datacontaining symmetric key data for AES en- and decryption.
Data, encrypted using RSA or AES algorithms.
Data, decrypted using AES algorithm.
Can use a (bundled) X509 public key certificate to encrypt a symmetric key that can be used elsewhere (see below).
SecKeyEncrypt, which comes with
Security.framework, and is compatible with
The main method you'll use is
Key pairs can be generated using OpenSSL on your desktop like so:
openssl req -x509 -days 3652 -out public.crt -outform DER -new -newkey rsa:2048 -keyout private.pem
The AES utility can be used for symmetric key encryption and decryption, default key length is 32 bytes.
Relies on the
CryptoSwift submodule and is compatible with
You use the
encrypt(data:) method to encrypt data with the utilities' key and
decrypt(encData:) to decrypt data that was encrypted with the same key.