39 lines
1,000 B
Objective-C
39 lines
1,000 B
Objective-C
//
|
|
// OLMUtility.h
|
|
// olm
|
|
//
|
|
// Created by Chris Ballinger on 4/8/16.
|
|
//
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
FOUNDATION_EXPORT NSString *const OLMErrorDomain;
|
|
|
|
@interface OLMUtility : NSObject
|
|
|
|
/**
|
|
Calculate the SHA-256 hash of the input and encodes it as base64.
|
|
|
|
@param message the message to hash.
|
|
@return the base64-encoded hash value.
|
|
*/
|
|
- (NSString*)sha256:(NSData*)message;
|
|
|
|
/**
|
|
Verify an ed25519 signature.
|
|
|
|
@param signature the base64-encoded signature to be checked.
|
|
@param key the ed25519 key.
|
|
@param message the message which was signed.
|
|
@param the result error if there is a problem with the verification.
|
|
If the key was too small then the message will be "OLM.INVALID_BASE64".
|
|
If the signature was invalid then the message will be "OLM.BAD_MESSAGE_MAC".
|
|
|
|
@return YES if valid.
|
|
*/
|
|
- (BOOL)verifyEd25519Signature:(NSString*)signature key:(NSString*)key message:(NSData*)message error:(NSError**)error;
|
|
|
|
+ (NSMutableData*) randomBytesOfLength:(NSUInteger)length;
|
|
|
|
@end
|