Hi Neils,

I tried your CommonCrypto in Ubuntu:

- (void)testEncryptAndDecrypt
{
    NSString *key = @"dict1";
    NSString *dataString = @"data to encrypt";
    NSData *data = [dataString dataUsingEncoding:NSASCIIStringEncoding];
    NSString *plainText = [[NSString alloc] initWithData:data 
encoding:NSASCIIStringEncoding];
    XCTAssertEqualObjects(dataString, plainText, @"converting from NSData 
should give same text");
    NSError *error = nil;
    NSData *encryptedData = [data AES256EncryptedDataUsingKey:key error:&error];
    if (error) {
        DLog(@"error: %@", error);
    }
    DLog(@"encryptedData: %@", encryptedData);
    XCTAssertNil(error, @"Got error in AES256EncryptedDataUsingKey:key 
method");    
    NSString *encryptedString = [[NSString alloc] initWithData:encryptedData 
encoding:NSASCIIStringEncoding];
    DLog(@"encryptedString: %@", encryptedString);
    NSData *decryptedData = [encryptedData decryptedAES256DataUsingKey:key 
error:&error];
    XCTAssertNil(error, @"Got error in decryptedAES256DataUsingKey:key method");
    DLog(@"decryptedData: %@", decryptedData);
    NSString *decryptedString = [[NSString alloc] initWithData:decryptedData 
encoding:NSASCIIStringEncoding];
    DLog(@"decryptedString: %@", decryptedString);
    XCTAssertEqualObjects(decryptedString, dataString, @"After decryption 
should return same text");
}

and got this:


============================ Running RengoTests (debug) 
=================================
2016-06-09 18:38:47.328 RengoTests[25595:25595] Test Suite 'NSDataTests' 
started.
2016-06-09 18:38:47.332 RengoTests[25595:25595] Test Case 
'testEncryptAndDecrypt' started.
2016-06-09 18:38:47.333 RengoTests[25595:25595] -[NSDataTests 
testEncryptAndDecrypt] [Line 33] encryptedData: <88d505dd d097b09b 66132c3c 
dc888c9f>
2016-06-09 18:38:47.333 RengoTests[25595:25595] -[NSDataTests 
testEncryptAndDecrypt] [Line 36] encryptedString: (null)
/home/amr/myos/sdk/run_debug: line 41: 25595 Segmentation fault      (core 
dumped) ./${TARGET}



And in case of hardcoding encryptedString:

- (void)testEncryptAndDecrypt
{
    NSString *key = @"dict1";
    NSString *dataString = @"data to encrypt";
    NSData *data = [dataString dataUsingEncoding:NSASCIIStringEncoding];
    NSString *plainText = [[NSString alloc] initWithData:data 
encoding:NSASCIIStringEncoding];
    XCTAssertEqualObjects(dataString, plainText, @"converting from NSData 
should give same text");
    NSError *error = nil;
    NSData *encryptedData = [data AES256EncryptedDataUsingKey:key error:&error];
    if (error) {
        DLog(@"error: %@", error);
    }
    DLog(@"encryptedData: %@", encryptedData);
    XCTAssertNil(error, @"Got error in AES256EncryptedDataUsingKey:key 
method");    
    NSString *encryptedString = @"Õ^EÝÐ<97>°<9b>f^S,<Ü";
    DLog(@"encryptedString: %@", encryptedString);
    NSData *decryptedData = [encryptedData decryptedAES256DataUsingKey:key 
error:&error];
    XCTAssertNil(error, @"Got error in decryptedAES256DataUsingKey:key method");
    DLog(@"decryptedData: %@", decryptedData);
    NSString *decryptedString = [[NSString alloc] initWithData:decryptedData 
encoding:NSASCIIStringEncoding];
    DLog(@"decryptedString: %@", decryptedString);
    XCTAssertEqualObjects(decryptedString, dataString, @"After decryption 
should return same text");
}


============================ Running RengoTests (debug) 
=================================
2016-06-09 18:35:46.300 RengoTests[25569:25569] Test Suite 'NSDataTests' 
started.
2016-06-09 18:35:46.308 RengoTests[25569:25569] Test Case 
'testEncryptAndDecrypt' started.
2016-06-09 18:35:46.309 RengoTests[25569:25569] -[NSDataTests 
testEncryptAndDecrypt] [Line 33] encryptedData: <88d505dd d097b09b 66132c3c 
dc888c9f>
2016-06-09 18:35:46.310 RengoTests[25569:25569] -[NSDataTests 
testEncryptAndDecrypt] [Line 36] encryptedString: Õ^EÝÐ<97>°<9b>f^S,<Ü
/home/amr/myos/sdk/run_debug: line 41: 25569 Segmentation fault      (core 
dumped) ./${TARGET}


> On Mar 7, 2012, at 9:58 PM, Niels Grewe <[email protected]> wrote:
> 
> Hi Jon,
> 
> On Sat, Jun 25, 2011 at 11:32:02PM -0500, Jonathan Bartlett wrote:
>> Has anyone worked on getting an implementaiton of CommonCrypto for GNUstep? 
> 
> you've probably long forgotten about this, but in case you're still
> interested: I just got around cleaning up my work on making CommonCrypto
> work on non-Darwin platforms. You can get the tarball here [0]. I'm also
> experimenting with DVCSs again, so this time ongoing work is available
> via fossil [1], but I don't have much time at my hands right now, so it
> will probably stay equivalent with the tarball for a while.
> The catch with this is that it requires clang to compile at the moment
> because clang is more forgiving with respect to interpreting the CPU
> specific assembly in there (which was a bit of a pain to rewrite
> already). Also, the CommonCrypto version is a bit old-ish by now, but
> I'll try to forward-port my changes once I can connect to
> opensource.apple.com again.
> 
> Cheers,
> 
> Niels
> 
> 
> 
> [0] http://www.halbordnung.de/~niels.grewe/gnustep/gs-commoncrypto.tar.bz2
> [1] https://chiselapp.com/user/thebeing/repository/GS-CommonCrypto
> 
> _______________________________________________
> Discuss-gnustep mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep

_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to