Last active
December 17, 2015 02:08
-
-
Save t0mm13b/5533040 to your computer and use it in GitHub Desktop.
A direct port of java's bouncy castle implementation of PKCS12ParametersGenerator.java (http://java2s.com/Open-Source/Java/Security/Bouncy-Castle/org/bouncycastle/crypto/generators/PKCS12ParametersGenerator.java.htm)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#import <Foundation/Foundation.h> | |
#import <CommonCrypto/CommonDigest.h> | |
@interface PKCS12ParametersGenerator : NSObject { | |
NSInteger keySize; | |
NSInteger ivSize; | |
NSInteger iterations; | |
NSData *salt; | |
NSString *password; | |
NSData *derivedKey; | |
NSData *derivedIV; | |
uint8_t *ptrPasswordBytes; | |
uint8_t *ptrSaltBytes; | |
uint8_t *ptrPasswdPCKS12Bytes; | |
size_t szPasswordLen; | |
size_t szSaltLen; | |
size_t szPasswdPKCS12Len; | |
} | |
@property (nonatomic, assign) NSInteger keySize; | |
@property (nonatomic, assign) NSInteger ivSize; | |
@property (nonatomic, assign) NSInteger iterations; | |
@property (nonatomic, assign) NSString *password; | |
@property (nonatomic, assign) NSData *salt; | |
@property (nonatomic, retain) NSData *derivedKey; | |
@property (nonatomic, retain) NSData *derivedIV; | |
@property (nonatomic, assign) uint8_t *ptrPasswordBytes; | |
@property (nonatomic, assign) uint8_t *ptrPasswdPCKS12Bytes; | |
@property (nonatomic, assign) uint8_t *ptrSaltBytes; | |
@property (nonatomic, assign) size_t szPasswordLen; | |
@property (nonatomic, assign) size_t szSaltLen; | |
@property (nonatomic, assign) size_t szPasswdPKCS12Len; | |
-(id) init :(NSString *)argPassword | |
saltedHash:(NSData *)argSalt | |
iterCount:(NSInteger) argIterations | |
keySize:(NSInteger) argKeySize | |
initVectSize:(NSInteger) argIVSize; | |
-(void) dealloc; | |
-(void) generateDerivedParameters; | |
-(uint8_t *) pkcs12Password : (uint8_t *)argPtrPassword; | |
-(unsigned char *)generateDerivedKey :(NSInteger) iMaterialType | |
byteLen:(NSInteger)argSizeLen; | |
-(void) adjust :(unsigned char *)a offset:(size_t)aOff buffer:(unsigned char *)B; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment