You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*==============================================================================
- TransKeyView.h (풀뷰 secureKeyboard) - 연동가이드 참조 ==============================================================================*/
/*==============================================================================
support device SupportedByDevicePortrait : Only Portrait SupportedByDevicePortraitUpsideDown : Portrait & PortraitUpsideDown SupportedByDeviceLandscape : LandscapeLeft & LandscapeRight SupportedByDevicePortraitAndLandscape : Portrait & PortraitUpsideDown LandscapeLeft & LandscapeRight SupportedByDeviceLandscapeLeft SupportedByDeviceLandscapeRight SupportedByDevicePortraitUpsideDownOnly ==============================================================================*/ enum { SupportedByDevicePortrait, SupportedByDevicePortraitUpsideDown, //
SupportedByDeviceLandscape, // LandscapeLeft & LandscapeRight
SupportedByDevicePortraitAndLandscape, SupportedByDeviceLandscapeLeft, SupportedByDeviceLandscapeRight, SupportedByDevicePortraitUpsideDownOnly };
/*==============================================================================
secureKeyboard delegate ==============================================================================*/ @protocol TransKeyViewDelegate <NSObject>
@optional - (BOOL)didAutorotateToInterfaceOrient:(UIInterfaceOrientation)orientation; //ios5 이하
- (NSUInteger)didAutorotateToInterfaceOrient; //ios6
- (void)secureInputFinishIgnoreInputLength:(NSInteger)type;
@required - (void)secureInputFinish:(NSInteger)type;
@end
/*==============================================================================
secureKeyboard interface ==============================================================================*/ @interface TransKeyView : UIViewController @property (nonatomic, assign) id<TransKeyViewDelegate> delegate;
/*=============================================================================================================
MTranskey 기본 API =============================================================================================================*/
// 라이브러리 초기화
// host : TransKeyView의 상위 UIViewController
- (id)mTK_Init:(id)host;
// 암호키 설정, 128bit
- (void)mTK_SetSecureKey:(NSData*)securekey;
// 라이브러리 내에서 랜덤하게 로컬 암호화에 사용할 비밀키를 생성한다. (128bit)
- (void)mTK_MakeSecureKey;
// 가상키보드 초기화
// host : TransKeyView의 상위 UIViewController
- (id)SetKeyboardType:(id)host;
/*==============================================================================
가상키보드 초기화 host : TransKeyView의 상위 UIViewController (self) keypad : 보안 키패드 타입 "0" - "영문+숫자+특수문자" 타입 (기본값) "1" - "숫자" 타입 input : text/password type 형태 구분해서 입력필드를 생성 "0" - text type (기본값) "1" - password type label : 입력 필드명 정의 (계좌번호, 계정, 비밀번호, 등등… ) 기본값 - "입력" crypt : 암호화 동작 방식 정의 "0" - 로컬 암호 사용 (기본값) "1" - 서버 연동 암호 사용 (5번CK_SetSecureKey함수를 이용하여 키 설정) maxlength : 최대 입력받을 문자열 길이(기본값:16) - 16 초과 시 16으로 제한 minlength : 최소 입력받을 문자열 길이(기본값:0) - 사용안함 bUpper : 최초 키패드의 시작을 대문자 키패드로 할 것인지. language : 언어 셋팅 "0" - 한글(기본값) "1" - 영어 ==============================================================================*/ - (id)SetKeyboardType:(id)host keypadType:(NSInteger)keypad mTK_inputType:(NSInteger)input mTK_inputTitle:(NSString*)label mTK_cryptType:(NSInteger)crypt mTK_maxLength:(NSInteger)maxlength mTK_minLength:(NSInteger)minlength mTK_keypadUpper:(BOOL)bUpper mTK_languageType:(NSInteger)language;
// 입력 에디트박스의 설명설정
- (void)mTK_SetHint:(NSString*)desc font:(UIFont*)font; - (void)mTK_SetHint:(NSString*)desc font:(UIFont*)font textAlignment:(NSTextAlignment)alignment;
// 허용입력 초과시 메세지 박스 사용
- (void)mTK_ShowMessageIfMaxLength:(NSString*)message;
// 최소입력 미만시 메세지 박스 사용
- (void)mTK_ShowMessageIfMinLength:(NSString*)message;
// 입력 에디트박스에 커서 사용유무
- (void)mTK_UseCursor:(BOOL)bUse;
// 전체삭제버튼 사용유무
- (void)mTK_UseAllDeleteButton:(BOOL)bUse;
// navigation bar 사용할 경우 셋팅
- (void)mTK_UseNavigationBar:(BOOL)bUse;
// VoiceOver 사용
- (void)mTK_UseVoiceOver:(BOOL)bUse;
// Navi Bar 설정
- (void)mTK_ShowNaviBar:(BOOL)show;
// 다국어 언어 설정
- (void)mTK_SetLanguage:(NSInteger)langType;
/*=============================================================================================================
MTranskey additional API =============================================================================================================*/ // 라이브러리 버전정보
- (NSString*)mTK_GetVersion;
// 암호키를 얻는다.
- (NSData*)mTK_GetSecureKey;
// 보안 키패드를 사용하여 입력된 암호화 값을 얻는다.
- (NSString*)mTK_GetCipherData; - (NSString*)mTK_GetCipherDataEx; - (NSString*)mTK_GetCipherDataExWithPadding;
// 모바일 장치에 대한 고유 ID값을 얻는다.
- (NSString*)mTK_GetUniqueID; - (NSString*)mTK_GetUniqueIDEx;
// 보안 키패드를 사용하여 입력된 원문 값을 얻는다.
- (void)mTK_GetPlainDataWithKey:(NSData*)key cipherString:(NSString*)cipherString plainString:(char*)plainData length:(NSInteger)length; - (void)mTK_GetPlainDataExWithKey:(NSData*)key cipherString:(NSString*)cipherString plainString:(char*)plainData length:(NSInteger)length; - (void)mTK_GetPlainDataExWithPaddingWithKey:(NSData*)key cipherString:(NSString*)cipherString plainString:(char*)plainData length:(NSInteger)length;
- (void)mTK_SetPBKDF_RandKey:(NSData*)randkey withSalt:(NSData *)salt withIterator:(NSInteger)iterator; - (NSString*)mTK_GetPBKDF2DataEncryptCipherDataWithSeedIv:(unsigned char*)iv; - (NSString*)mTK_GetPBKDF2DataEncryptCipherDataExWithSeedIv:(unsigned char*)iv; - (NSString*)mTK_GetPBKDF2DataEncryptCipherDataExWithPaddingWithSeedIv:(unsigned char*)iv;
// 어플리케이션의 패스워드 필드에 넣을 dummy값을 얻는다.
- (NSString*)mTK_GetDummyData;
// 보안 키패드로 입력한 데이터 길이를 얻는다.
- (NSInteger)mTK_GetDataLength;
// 보안 키패드의 키패드 배경색을 변경할 때 사용한다.
- (void)mTK_SetKeypadBackColor:(UIColor*)backColor;
// 보안 키패드의 키패드 배경색을 변경할 때 사용한다.
- (UIColor*)mTK_GetKeypadBackColor;
// 보안 키패드의 Label 글씨 색을 가져올 때 사용한다.
- (UIColor*)mTK_GetLabelColor;
// 보안 키패드의 Label 폰트를 변경할 때 사용한다.
- (void)mTK_SetLabelFont:(UIColor*)txtColor fontType:(NSString*)type fontSize:(CGFloat)size;
// 보안 키패드를 사용하여 입력된 암호화 값 및 사용된 암호화 키를 얻는다.
- (NSString*)mTK_GetSecureData;
// 랜덤키 사용유무
// 사용하면 쿼티 <-> 순열 변환버튼 사용하지 않음.(쿼티 자판으로 고정)
- (void)mTK_UseSequentialKey:(BOOL)bUse;
// 버튼 간격조절
- (void)mTK_SetButtonMargin:(float)addGap;
// 키패드 간격조절 (입력완료는 그대로)
- (void)mTK_SetKeypadMargin:(float)addGap;
// 버튼 라운드처리
- (void)mTK_SetButtonRadius:(float)fround;
// 특수문자키 사용유무
- (void)mTK_UseSpecialKey:(BOOL)bUse message:(NSString*)text;
// 입력 이미지 사이즈 조절
- (void)mTK_SetSizeOfInputKeyImage:(CGFloat)width height:(CGFloat)height_; - (void)mTK_SetSizeOfInputPwKeyImage:(CGFloat)width height:(CGFloat)height_;
// 입력 에디트, 타이틀 라벨, 입력완료 버튼 중앙으로
// iPhone 전용
- (void)mTK_SetControlCenter:(BOOL)bUse;
// 입력에디트필드의 백그라운드 이미지 설정(transkey_inputbox.png)
- (void)mTK_SetInputEditboxImage:(BOOL)bUse;
// 보안키패드에 설정된 언어 리턴
- (NSInteger)mTK_GetLanguage;
// 디바이스 지원범위 설정
- (void)mTK_SupportedByDeviceOrientation:(NSInteger)supported_;
// iPhone frame으로 강제 설정(기업은행 전용)
- (void)mTK_ForceiPhone;
// iOS 4.x에서 풀뷰를 addSubview하고 난 후 호출
- (void)act;
// IOS4에서 풀뷰 키패드를 addSubview 했는데 화면이 보이지 않는 경우가 있어 수동으로 불러준다.
// IOS4를 지원할 때는 넣어준다.IOS4에만 동작하므로 IOS5 이상 버전에 영향을 미치지 않는다.
- (void)actToIos4; // IOS4에서 풀뷰 키패드를 removeFromSuperview 했는데 화면이 사라지지 않는 경우가 있어 수동으로 불러준다.
// IOS4를 지원할 때는 넣어준다.IOS4에만 동작하므로 IOS5 이상 버전에 영향을 미치지 않는다.(mTK_SupportedByDeviceOrientation를 사용할 경우)
- (void)removeToIos4;
//최상위 버튼의 Top 마진
- (void)mTK_SetHighestTopMargin:(int)height;
// Navi Bar 백그라운드 색상 설정
- (void)mTK_SetNaviBarBackgroundColor:(UIColor *)color; // Navi Bar 백그라운드 이미지 설정
- (void)mTK_SetNaviBarBackgroundImage:(NSString *)name;
// Navi Bar 이전/다음/완료 버튼 숨김설정
- (void)mTK_SetHiddenBeforeButton:(BOOL)hidden; - (void)mTK_SetHiddenNextButton:(BOOL)hidden; - (void)mTK_SetHiddenCompleteButton:(BOOL)hidden;
// Navi Bar 마지막 입력값 보여주기 설정
- (void)mTK_ShowLastInput:(BOOL)show;
// 멀티 파라미터 설정
- (void)mTK_SetMultiParam:(NSMutableArray *)params; // 멀티 파라미터 ResultData가져오기
- (NSMutableArray *)mTK_GetMultiResultData;
// Shift Option 사용 유무 설정
- (void)mTK_UseShiftOptional:(BOOL)bUse;
// 키패드 파라미터 옵션 초기화
- (void)mTK_ClearParamOptions;
// 키패드 사용한 Parent뷰에서 Subview를 삭제 설정
- (void)mTK_ClearDelegateSubviews;
// 입력된 텍스트의 길이를 가져온다
- (NSInteger)mTK_GetInputLength;
// ios7이상에서만 사용. 풀뷰 상태바 색상을 지정한다.
- (void)mTK_SetStatusbarColorwithRed:(CGFloat)red Green:(CGFloat)green Blue:(CGFloat)blue Alpha:(CGFloat)alpha;
// 어두운계열과 밝은 계열의 상태바텍스트 색상 선택
- (void)mTK_SetStatusbarTextColorDark:(BOOL)darkColor;
- (void)mTK_EnableSamekeyInputDataEncrypt:(BOOL)bEnable;
- (void)mTK_setHideInputPasswordDelay:(NSInteger)delaySecond;
- (void)mTK_setVerticalKeypadPosition:(int)position;
- (void)mTK_NaviButtonChangeClearData:(BOOL)bClear;
- (void)mTK_setIgnoreStatusbar:(BOOL)isIgnore;
- (void)mTK_SetPBKDF_RandKey:(NSData*)randkey; - (void)mTK_SetPBKDF_RandKey:(NSData*)randkey withSalt:(NSData *)salt withIterator:(NSInteger)iterator;
- (NSString*)mTK_GetPBKDF2DataEncryptCipherData; - (NSString*)mTK_GetPBKDF2DataEncryptCipherDataEx; - (NSString*)mTK_GetPBKDF2DataEncryptCipherDataExWithPadding;
- (void)mTK_SetAlertTitle:(NSString*)title; // 말풍선(balloon) 사용유무
- (void)mTK_SetUseBalloonImageButton:(BOOL)bUse;
//키패드가 최초에 심볼타입으로 생성되는 옵션
- (void) mTK_ChangeKeypadToSymbol:(BOOL) flag;
//취소버튼 삭제
- (void) mTK_DisableCancelBtn : (BOOL) flag;
//자판 높이 세팅
- (void) mTK_SetHeight:(float)value;
// 더미 커스텀 이미지 사용
- (void) mTK_UseCustomDummy : (BOOL) flag;
// 커스텀 더미 스트링 (@"!@#$")
- (void) mTK_CustomDummyString : (NSString *) mDummyString;
// 드래그 기능 막는 옵션
- (void) mTK_DisableDragEvent : (BOOL) flag;
// color 세팅이 추가된 SetHint API
- (void)mTK_SetHint:(NSString *)desc font:(UIFont *)font textAlignment:(NSTextAlignment)alignment textColor:(UIColor *)color;
// 타이틀 이미지의 크기수정
- (void) mTK_SetTitleHeight : (float) rate;
- (void)mTK_DisableButtonEffect:(BOOL)bDisable; /*
커스텀 타이틀바 옵션 아래와 같이 파일명이 리소스에 등록되어 있어야 함 1. 고객사 로고 이미지: custom_title_logo.png 2. 백그라운드 이미지명: custom_titlebar_background.png */ - (void)mTK_UseCustomTitleImage:(BOOL)flag withWidth:(float)logoW withHeight:(float)logoH;
//오토포커싱 사용
- (void) mTK_SetAutoFocusing : (BOOL) flag;
// 키패드 버튼 사이 간격 조절
- (void) mTK_SetBtnMarginRatio : (float) value;
// 공개키를 통한 암호문 패킷 생성
- (NSString*)mTK_EncryptSecureKey:(NSString*)publicKey cipherString:(NSString*)cipherString;
// iPhoneX 풀뷰, 상하단 Safe Area 블랙으로 처리하는 옵션
- (void) mTK_SetSafeAreaColor : (UIColor *) color;
// 미디어 볼륨으로 버튼음 재생하도록 설정 (Tock.caf)
- (void) mTK_UseButtonResSound : (BOOL) flag;
// 숫자 키보드를 랜덤으로 배열
- (void) mTK_UseRandomNumpad : (BOOL) useRandomNumpad;
// SafeArea 설정
- (void) mTK_SetBottomSafeArea : (BOOL) flag;
// * 라이선스 체크. 반드시 진행해서 검증받아야 mTransKey 사용 가능
- (int) mTK_LicenseCheck : (NSString *) fileName; @end
|