Tôi đang cố gắng xác thực chữ ký mà khách hàng tạo ra từ khóa riêng của họ và gửi đến máy chủ.apache mina sshd xác thực chữ ký của khách hàng
Trình xác thực duy nhất tôi có thể tìm thấy trong thư viện có vẻ thích hợp là PublickeyAuthenticator
. Xin vui lòng sửa tôi nếu đây là lớp sai để làm điều này.
Tôi hiện có:
this.sshServer.setPublickeyAuthenticator(new PublickeyAuthenticator() {
@Override
public boolean authenticate(String username, PublicKey key, ServerSession session) {
if (username.equals("client")) {
//if signature == valid??
return true;
}
}
});
Có ai biết nếu mina hỗ trợ xác minh chữ ký và nếu như vậy, làm thế nào nó có thể được thực hiện?
Hiểu biết của tôi là trước tiên tôi phải gán/thêm khóa công khai của người dùng vào máy chủ. Nếu khách hàng đã cung cấp tệp id_rsa.pub
, làm cách nào tôi có thể chuyển tệp này vào máy chủ dưới dạng khóa công cộng?
Có cách nào để đăng ký nhiều khóa công khai và xác nhận chúng cho mỗi người dùng? – Hooli
Tôi đã cập nhật câu trả lời bằng ví dụ về cách bạn có thể triển khai câu trả lời cho nhiều người dùng. – Magnus