MASTG-KNOW-0067: CommonCrypto, SecKey e Bibliotecas Wrapper
A classe mais comumente utilizada para operações criptográficas é a CommonCrypto, que é integrada ao runtime do iOS. A funcionalidade oferecida pelo objeto CommonCrypto pode ser melhor compreendida ao analisar o código-fonte do arquivo de cabeçalho:
- O
CommonCryptor.hfornece os parâmetros para operações criptográficas simétricas. - O
CommonDigest.hfornece os parâmetros para algoritmos de hash. - O
CommonHMAC.hfornece os parâmetros para operações HMAC suportadas. - O
CommonKeyDerivation.hfornece os parâmetros para funções KDF suportadas. - O
CommonSymmetricKeywrap.hfornece a função usada para encapsular uma chave simétrica com uma chave de criptografia de chave (Key Encryption Key).
Infelizmente, a CommonCryptor carece de alguns tipos de operações em suas APIs públicas, como: o modo GCM está disponível apenas em suas APIs privadas. Consulte seu código-fonte. Para isso, é necessário um cabeçalho de vinculação adicional ou podem ser usadas outras bibliotecas wrapper.
Em seguida, para operações assimétricas, a Apple fornece a SecKey. A Apple oferece um guia útil em sua Documentação do Desenvolvedor sobre como usar isso.
Como observado anteriormente: existem bibliotecas wrapper para ambos os casos, a fim de fornecer conveniência. Bibliotecas típicas que são usadas incluem, por exemplo: