Thanks for your suggestions. I have one specific question:
In CyrptoExercise sample provided by apple, we have a wrapper class: SecKeyWrapper. In this class we have one method: - (NSData *)getPublicKeyBits. Shall I use below code to create and send an encoded string to server: 1. SecKeyWrapper *keyWrapper = [SecKeyWrapper sharedWrapper]; 2. NSData *publicKeyData = [keyWrapper getPublicKeyBits]; 3. NSString *stringToSend = [publicKeyData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed]; And expect that at android device, it will be decoded in this order: 1. string will be decoded to ByteBuffer 2. From ByteBuffer corresponding key object will be generated Or do we need to consider any other mechanism? On Tue, May 13, 2014 at 5:43 PM, ChanMaxthon <xcvi...@me.com> wrote: > Rounding stuff up, there are two broadly-implemented systems: PKCS and PGP. > > If you are using PKCS system, you need to operate a CA that your app trusts. > Your server issue issue new keys as certificates signed by your CA. Clients > provide keys using CSR which is confirmed when signed by the server (probably > using an intermediate CA). Programming wise most if not all system can > support PKCS or DER certificates. > > To use PGP system you need to use a PGP key server (a public one is okay) and > key exchange is done by exchanging key IDs and searching keys on the key > servers. > > Sent from my iPhone > >> On May 13, 2014, at 6:24 PM, Devarshi Kulshreshtha >> <devarshi.bluec...@gmail.com> wrote: >> >> My requirements are: >> >> Requirement 1: Share public key to java server. >> >> Steps: >> >> 1. Generate public-private keys in iOS app. >> 2. Store the generated keys in keychain. >> 3. Send generated public key to java server. >> 4. Java server shall be able to store shared public key in database. >> >> Requirement 2: Store public key sent by java server. >> >> Steps: >> >> 1. Java server sends public key of other user. >> 2. Process data sent by java server and generate public key from it. >> 3. Store generated key in keychain, which can be later retrieved for >> encrypting message to be transferred. >> >> I am able to achieve steps 1-2 in requirement 1 by using below method >> defined in SecKeyWrapper class (CommonCrypto sample): >> >> >> - (void)generateKeyPair:(NSUInteger)keySize >> >> >> Question 1: Now problem is- how shall I send that key to java server? >> >> We have getPublicKeyBits method in the same class, which returns an >> NSData object, on some googling I found that it is in DER encoded >> format. >> >> Question 2: If I send the same NSData object to server, which I guess >> it will interpret as ByteBuffer object, will it be possible for other >> devices, in my case it could be android, to interpret that data? >> >> Question 3: What is the best way to share public key in above scenarios? >> >> Please suggest. >> _______________________________________________ >> >> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) >> >> Please do not post admin requests or moderator comments to the list. >> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >> >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/cocoa-dev/xcvista%40me.com >> >> This email sent to xcvi...@me.com -- Thanks, Devarshi _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com