How to Implement File Encryption with SSCrypto?

  • I'm using the SSCrypto framework (http://septicus.com/products/opensource/)
    which is pretty straightforward and I can encrypt/decrypt NSStrings fine.
    Apparently it is also capable of encrypting NSData.
    My idea for encrypting a file before it was written, was to encrypt the
    output of "NSKeyedArchiver" in my implementation of dataOfType. Here's my
    code:

    - (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError

    {

    NSString *publicKeyPath  = [[NSBundle mainBundle] pathForResource:@"PUBKEY"
    ofType:@"pem" inDirectory:@"../.."];

    NSString *privateKeyPath = [[NSBundle mainBundle] pathForResource:
    @"Privatekey" ofType:@"pem" inDirectory:@"../.."];

    NSData *publicKeyData  = [NSData dataWithContentsOfFile:publicKeyPath];

    NSData *privateKeyData = [NSData dataWithContentsOfFile:privateKeyPath];

    SSCrypto *crypto = [[SSCrypto alloc] initWithPublicKey:publicKeyData
    privateKey:privateKeyData];

    [personController commitEditing];

    NSData *clearData = [NSKeyedArchiver archivedDataWithRootObject:employees];

    [crypto setClearTextWithData:clearData];

    NSData *encryptedData = [crypto encrypt];

      if ( outError != NULL ) {

    *outError = [NSError errorWithDomain:NSOSStatusErrorDomain code:unimpErr
    userInfo:NULL];

    }

    return encryptedData bytes;

    }

    This doesn't work, but my question is two-fold:

    1. Where is my logic flawed and why won't this work?

    2. Can this code be functional or should I encrypt individual NSStrings in
    my models (I would rather obfuscate the entire file)?

    Thanks in advance!
previous month december 2007 next month
MTWTFSS
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
Go to today