Bạn đã tạo khóa riêng (và được liên kết công khai) trong kho khóa của mình. Để nó thực sự có thể sử dụng được, bạn có thể được nó ký bởi một cơ quan chứng nhận (CA) - vì đây là lệnh -certreq
(bạn gửi đầu ra tới cơ quan chứng nhận này, cùng với một số thông tin khác và một chút tiền, và họ gửi Quay lại chứng chỉ, sau đó bạn có thể nhập vào kho khóa của mình.)
Xem khóa cá nhân không có ý định ... bạn thường không cần điều này, vì bạn sử dụng kho khóa trong chương trình Java của mình và điều này biết cách để dùng nó.
Edit: Vì bạn muốn nhìn vào keystore của bạn, đây là một chương trình Java nhanh chóng mà thực hiện điều này:
import java.io.*;
import java.security.*;
import java.security.cert.Certificate;
public class KeyPrinter {
/**
* to be invoked with these parameters:
*
* [0]: keystore-password
* [1]: filename
* [2]: alias
* [3]: entry-Password (if necessary)
*/
public static void main(String[] params)
throws IOException, GeneralSecurityException
{
char[] storePass = params[0].toCharArray();
String fileName = params[1];
String alias = params[2];
KeyStore.ProtectionParameter entryPass;
if(params.length > 3) {
entryPass=new KeyStore.PasswordProtection(params[3].toCharArray());
} else {
entryPass = null;
}
KeyStore store = KeyStore.getInstance("JKS");
InputStream input = new FileInputStream(fileName);
store.load(input, storePass);
KeyStore.Entry entry = store.getEntry(alias, entryPass);
System.out.println(entry);
}
}
Đầu tiên gọi keytool -list -keystore myStore
để biết được bí danh để tìm kiếm, sau đó gọi chương trình này với mật khẩu và thông số. Trong trường hợp một khóa riêng tư, nó cho thấy chính khóa và thêm một chứng chỉ tự ký có chứa khóa công khai, dưới dạng có thể đọc được. Trong trường hợp "chứng chỉ tin cậy", nó chỉ hiển thị khóa công khai.
Nguồn
2011-02-05 15:29:36
Ok, vì vậy, việc xem khóa cá nhân không có ý nghĩa. Có gì về khóa công khai? Có lệnh nào để hiển thị khóa công khai không? – Cratylus
Tôi vừa thêm một lớp java đơn giản để xem kho khóa. (Nó phức tạp hơn một chút, tôi thậm chí còn cố định dạng chính bản thân mình ... cho đến khi tôi có ý tưởng thử phương thức 'toString()'.) –
@MircoWidmer - cảm ơn [chỉnh sửa đề xuất] của bạn (http://stackoverflow.com/review/suggested-edits/11463131). Tôi không có ý tưởng tại sao mọi người từ chối nó (những lý do được đề cập chắc chắn là không hợp lệ) khi bạn chỉ đơn giản là sửa chữa một lỗi đánh máy. Tôi đã sửa nó ngay bây giờ. –