problems using SecKeyEncrypt

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

  1. macrumors newbie

    Joined:
    Jun 20, 2008
    #1
    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
    :confused::confused:
     
  2. Moderator emeritus

    kainjow

    Joined:
    Jun 15, 2000
    #2
    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):
    Code:
    uint8_t *pPlainText = (uint8_t*)"This is a test";
    uint8_t aCipherText[1024];
    size_t iCipherLength = 1024;
    status = SecKeyEncrypt(public,
                           kSecPaddingNone,
                           pPlainText,
                           strlen( (char*)pPlainText ) + 1,
                           aCipherText,
                           &iCipherLength);
     
  3. thread starter macrumors newbie

    Joined:
    Jun 20, 2008
    #3


    that's what I was missing!!!

    your solution works!!

    thanks a lot!
     

Share This Page