problems using SecKeyEncrypt

Discussion in 'iOS Programming' started by Turbo-555, Aug 26, 2008.

  1. Turbo-555 macrumors newbie

    Jun 20, 2008
    Hello everybody,

    I'm starting to work with cryptography on the iphone...

    at the moment I'm trying to simply encrypt (and later decrypt a string) but ..when I run the app (on the device, an iphone) i get this message: "Program received signal: “EXC_BAD_ACCESS”."

    which should mean...possibly problems with memory management right?
    here the incriminated part of code:

    uint8_t *pPlainText = (uint8_t*)"This is a test";
    uint8_t *aCipherText;
    size_t *iCipherLength = (size_t*)"1024";

    status = SecKeyEncrypt( public, kSecPaddingNone, pPlainText,strlen( (char*)pPlainText ) + 1, aCipherText,iCipherLength );

    public is a SecKeyRef containing the public key
  2. kainjow Moderator emeritus


    Jun 15, 2000
    Glancing at the documentation, aCipherText should be allocated first, and iCipherLength shouldn't be a string. It needs to be a number. Here's an attempt at fixing it (not tested):
    uint8_t *pPlainText = (uint8_t*)"This is a test";
    uint8_t aCipherText[1024];
    size_t iCipherLength = 1024;
    status = SecKeyEncrypt(public,
                           strlen( (char*)pPlainText ) + 1,
  3. Turbo-555 thread starter macrumors newbie

    Jun 20, 2008

    that's what I was missing!!!

    your solution works!!

    thanks a lot!

Share This Page