problems using SecKeyEncrypt

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

  1. 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. 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. thread starter macrumors newbie

    Jun 20, 2008

    that's what I was missing!!!

    your solution works!!

    thanks a lot!

Share This Page