The API failed to mention that they want the signature to be base64 encoded. This site gives a pretty good example of how to do so http://agerson.net/base64-encode-and-decode-nsstring-cocoa.
I think you are also confusing encryption with signatures. The API does not appear to ask you to encrypt you data. It asks you to sign your data. The enryptedData
variable you have is the signature and does not need to be encrypted. Just do base64 encode on it and assign it to the Sign
header.