2013-07-02 48 views
7

Tôi muốn tạo ứng dụng Android sẽ sử dụng xác thực chứng chỉ ứng dụng khách SSL.Tạo chứng chỉ ứng dụng khách trên thiết bị Android

Tôi đã tìm thấy mã mẫu cho tôi biết cách hai sử dụng xác thực chứng chỉ ứng dụng khách SSL trong ứng dụng Android. Điều này rõ ràng với tôi.

Vấn đề của tôi là tôi muốn tạo chứng chỉ ứng dụng khách SSL trên thiết bị. Nói một cách đơn giản, tôi muốn chương trình của mình thực hiện những việc sau:

Khi chương trình được cài đặt trên thiết bị, chứng chỉ ứng dụng khách sẽ được tạo trên thiết bị (khi chạy lần đầu tiên) và in ngón tay công khai sẽ được gửi đến máy chủ của tôi. (Chứng chỉ phải được tạo khi sử dụng lần đầu).

Làm cách nào để tạo chứng chỉ ứng dụng khách và thiết bị Android từ ứng dụng của tôi?

Trả lời

7

Bạn có thể chạy mã sau trên Android để tạo một cặp khóa và truy xuất vân tay. Nó sử dụng tuyệt vời JSCH library from jCraft.

public void generatePublicPrivateKeyPair() throws Exception { 

     ByteArrayOutputStream privateKeyOutputStream = new ByteArrayOutputStream(); 
     ByteArrayOutputStream publicKeyOutputStream = new ByteArrayOutputStream(); 

     JSch jsch=new JSch(); 
     KeyPair kpair=KeyPair.genKeyPair(jsch, KeyPair.RSA); 
     //kpair.setPassphrase(passphrase); 
     kpair.writePrivateKey(privateKeyOutputStream); 
     kpair.writePublicKey(publicKeyOutputStream, "Generated by vPro Management Console"); 

     String fingerPrint = kpair.getFingerPrint(); 
     System.out.println("Finger print: "+ fingerPrint); 
     kpair.dispose(); 

     byte[] privateKey = privateKeyOutputStream.toByteArray(); 
     byte[] publicKey = publicKeyOutputStream.toByteArray(); 

     System.out.println("Private key " + new String(privateKey)); 
     System.out.println("Public key " + new String(publicKey)); 


} 

Chỉ cần đặt JAR vào thư mục libs của bạn và bạn tốt để đi.

Nếu bạn sử dụng maven, bạn có thể tham khảo các phụ thuộc JSCH như thế này:

<dependency> 
    <groupId>com.jcraft</groupId> 
    <artifactId>jsch</artifactId> 
    <version>0.1.50</version> 
</dependency> 
+0

Cảm ơn bạn đã giúp đỡ của bạn :) –

Các vấn đề liên quan