Tôi đang cố gắng truy cập cửa hàng khóa MacOS X cá nhân của mình để truy xuất các khóa riêng tư cụ thể để mã hóa và ký một số dữ liệu bằng Java. Phần mã hóa và ký tên là chức năng, nhưng tôi không thể lấy lại khóa riêng mà tôi muốn. Sau đây là một số mã tôi đã viết để trình bày vấn đề tôi có:Lấy khóa riêng từ kho khóa MacOS X bằng cách sử dụng Java
KeyStore myKeyStore;
myKeyStore = KeyStore.getInstance("KeychainStore", "Apple");
myKeyStore.load(null, null);
// Get all the aliases in a list (I thought that calling the KeyStore
// methods during the iteration was the reason why getKey wasn't responding properly!)
// ... it wasn't actually!
ArrayList<String> aliases = new ArrayList<String>();
Enumeration<String> e = myKeyStore.aliases();
while (e.hasMoreElements()) {
aliases.add(e.nextElement());
}
for (String alias : aliases) {
try {
// I read on the Internet that any ASCII password is required
// to get the getKey method working.
Key k = myKeyStore.getKey(alias, "TEST".toCharArray());
if (k == null) {
System.out.println(alias + ": <null> (cannot retrieve the key)");
} else {
System.out.println(alias + ":");
System.out.println(k);
}
} catch (Exception ex) {
System.out.println(alias + ": " + ex.getMessage());
}
}
Sau khi thực hiện đoạn mã đó, tôi có thể xem tất cả các chứng chỉ trong kho khóa cá nhân của tôi. Tuy nhiên, tôi chỉ có thể lấy một khóa riêng, mặc dù có một nhóm trong kho khóa. (đầu ra của mã chỉ hiển thị nhiều chứng chỉ tin cậy + chỉ một khóa riêng)
Và khi tôi xóa khóa riêng đó khỏi kho khóa và thực thi lại mã đó, một khóa riêng khác sẽ được trả về. Nhập khóa riêng tư trở lại trong kho khóa và thực thi mã đó lần cuối, nó được trả về bởi Java và khóa riêng tư cuối cùng đã được trả về trước đó sẽ không thể truy cập được.
Tôi đã tình cờ gặp một danh sách gửi thư về chủ đề đó: http://lists.apple.com/archives/java-dev/2007/aug/msg00134.html. Thật không may, nó không có vẻ như vấn đề đó đã được giải quyết, và tôi không thể liên lạc với những người liên quan (không có địa chỉ e-mail).
Có ai cố gắng truy xuất nhiều khóa riêng tư từ cửa hàng keychain MacOS và đã thành công không?
cấu hình của tôi:
- hệ điều hành MacOS X 10.6
- JVA JRE 1.6.0_15 (32 và 64bits)
- Safari 4.0.3
- Firefox 3.6.3
Cảm ơn trước,
Bạn đã thử sử dụng công cụ khóa từ dòng lệnh chưa? nếu nó sẽ hoạt động - nó có thể là một công việc xung quanh vấn đề của bạn. Tôi đã sử dụng nó trong quá khứ và nó đã làm việc cho tôi ... –