aboutsummaryrefslogtreecommitdiff
path: root/xcode/OLMKitTests/OLMKitPkTests.m
diff options
context:
space:
mode:
authormanuroe <manu@matrix.org>2019-04-10 23:15:27 +0200
committermanuroe <manu@matrix.org>2019-04-10 23:27:14 +0200
commit809793c9bad785653657e21d4a7eb6282e3c17ee (patch)
tree74c6cd21e76121dbf39a9e9e8619dda83bb7cd29 /xcode/OLMKitTests/OLMKitPkTests.m
parent4057f59453d0276a7dbfeee284892c46786c156b (diff)
OLMKit: SAS: Add PK signing
(cherry picked from commit ff31d489c68d5d9e597bd55a6f6a64f3fe4c7ecc)
Diffstat (limited to 'xcode/OLMKitTests/OLMKitPkTests.m')
-rw-r--r--xcode/OLMKitTests/OLMKitPkTests.m35
1 files changed, 35 insertions, 0 deletions
diff --git a/xcode/OLMKitTests/OLMKitPkTests.m b/xcode/OLMKitTests/OLMKitPkTests.m
index 04d2e30..7a09130 100644
--- a/xcode/OLMKitTests/OLMKitPkTests.m
+++ b/xcode/OLMKitTests/OLMKitPkTests.m
@@ -104,4 +104,39 @@
XCTAssertEqualObjects(decrypted, TEST_TEXT);
}
+- (void)testSignAndVerify {
+
+ UInt8 seedBytes[] = {
+ 0x77, 0x07, 0x6D, 0x0A, 0x73, 0x18, 0xA5, 0x7D,
+ 0x3C, 0x16, 0xC1, 0x72, 0x51, 0xB2, 0x66, 0x45,
+ 0xDF, 0x4C, 0x2F, 0x87, 0xEB, 0xC0, 0x99, 0x2A,
+ 0xB1, 0x77, 0xFB, 0xA5, 0x1D, 0xB9, 0x2C, 0x2A
+ };
+
+ NSData *seed = [NSData dataWithBytes:seedBytes length:sizeof(seedBytes)];
+
+ NSString *TEST_TEXT = @"We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness.";
+
+ OLMPkSigning *signing = [OLMPkSigning new];
+
+ NSError *error;
+ NSString *pubKey = [signing doInitWithSeed:seed error:&error];
+ XCTAssertNotNil(pubKey);
+ XCTAssertNil(error);
+
+ NSString *sig = [signing sign:TEST_TEXT error:&error];
+ XCTAssertNotNil(sig);
+ XCTAssertNil(error);
+
+ OLMUtility *util = [OLMUtility new];
+ BOOL verify = [util verifyEd25519Signature:sig key:pubKey message:[TEST_TEXT dataUsingEncoding:NSUTF8StringEncoding] error:&error];
+ XCTAssertTrue(verify);
+ XCTAssertNil(error);
+
+ NSString *badSig = [sig stringByReplacingCharactersInRange:NSMakeRange(0, 1) withString:@"p"];
+ verify = [util verifyEd25519Signature:badSig key:pubKey message:[TEST_TEXT dataUsingEncoding:NSUTF8StringEncoding] error:&error];
+ XCTAssertFalse(verify);
+ XCTAssertNotNil(error);
+}
+
@end