[Android] how to get pem format public key from modulus and

To do this, we need to download 2 jar, which list below:

bouncycastle.openssl + commons-codec-1.10

if you want to compile the app from android source code, you will need to write your own “Android.mk”

package import javaimport javaimport javaimport javaimport javaimport javaimport java509EncodedKeySpec;import androidimport androidimport androidimport androidimport androidimport androidimport androidimport androidimport orgimport org.bouncycastle.openssl.*;public class MainActivity extends Activity {String key_N = “f22f26ef784475df476e15e3f6595329a7b4f8ad02ffb7c2c8f24baae2c6f5363c0a6f2288935c244d541bfcbfd0fd2382160672d10e8ed362a59661311094f8263810112e4a67d44a07527c514dbd2f4af7f23852645489f191802d96d12f65825a6029eedc8c284bcd2732355bf9848cabe82aef1bb4a60fa7b0e8eb8478fa1dddc36f4eeb6e7e952306e88ebddb593db1b538bde8230a8edc1237575370a8ebc8c3c64588b49397e2cad4b707b4b66515c3bf0f78b6b27dfdf0c28cd5fdc4fc91383681f6ab2f39d524df96c3277ca5d855c890ce331f655ddec5e37c52bf2ad30ec1026b117d5dae899b25b87c5ca23cd005bcc970a3f33605591aeb0755”;String key_E = “00010001”;Button btn1 = null;static String pubkey = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn1 = (Button)this.findViewById(R.id.btn1);btn1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {try {pubkey = convertPublicKey(key_N,key_E);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}Log.d(“GetPub”,pubkey);}});}private String convertPublicKey(String modulus, String exponent) throws Exception {PublicKey pub;StringWriter writer = new StringWriter();BigInteger data_N = new BigInteger(Hex.decodeHex(modulus.toCharArray()));BigInteger data_E = new BigInteger(Hex.decodeHex(exponent.toCharArray()));/* use the N,E to generate the OpensslRSAPublickey */RSAPublicKeySpec spec = new RSAPublicKeySpec(data_N, data_E);KeyFactory factory = KeyFactory.getInstance(“RSA”);pub = factory.generatePublic(spec);/* use the pemwriter to generate the pem format key */PEMWriter pemWriter = new PEMWriter(writer);pemWriter.writeObject(pub);pemWriter.flush();pemWriter.close();return writer.toString();}}

,而是他们在同伴们都睡着的时候,一步步艰辛地向上攀爬的。

[Android] how to get pem format public key from modulus and

相关文章:

你感兴趣的文章:

标签云: