2016-04-19 8 views
1

あなたは(誰でも)Modulusと指数を使ってpublicKeyをどのように作成するのか教えてください。Objective-c PublicKeyの作成

javaこれは簡単です。

RSAPublicKeySpec spec = new RSAPublicKeySpec(modulus, publicExponent); 
KeyFactory factory = KeyFactory.getInstance("RSA");                    
PublicKey pub = factory.generatePublic(spec); 

私はそれが客観的にどのように実行できるのか知りたいです。私はideawu RSA libraiesを使用して同じことを達成するために管理

答えて

0

自分たちのライブラリを使用して、フッターやヘッダーキーで(つまりPUBLIC KEYを開始し、公開鍵を終了)し、それらを必要とすることを前提としていて、私は、公開鍵のエンコーディングでいくつかの問題がありました私は少し彼らのいずれかの方法を変更し、それは完全に、働いていた、いないURLエンコードに私は必要な結果を実行します。そのほかに

+ (NSString *)encryptString:(NSString *)str publicKey:(NSString *)pubKey{ 

    NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:pubKey options:0]; 
    NSString *decodedKey = [[NSString alloc] initWithData:decodedData encoding:NSUTF8StringEncoding]; 
    decodedKey = [decodedKey stringByReplacingOccurrencesOfString:@"-----BEGIN PUBLIC KEY-----\n" withString:@""]; 
    decodedKey = [decodedKey stringByReplacingOccurrencesOfString:@"-----END PUBLIC KEY-----" withString:@""]; 

    NSData *data = [RSA encryptData:[str dataUsingEncoding:NSUTF8StringEncoding] publicKey:decodedKey]; 
    NSString *ret = base64_encode_data(data); 
    ret = [ret stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet alphanumericCharacterSet]]; 
    return ret; 
} 

を、ライブラリーは本当にインポートしやすいと警告やエラーなしでコンパイルされました。

関連する問題