Vì vậy, tôi đang gặp một chút vấn đề ở đây với các wsdls và chọn nhiều chứng chỉ trong java. Ví dụ, một thẻ thông minh có nhiều chứng chỉ trên đó, để ký, mã hóa, nhận dạng. Tôi có một WSDL mà tạo ra các mã cho các kết nối khách hàng auth nhưng như xa như tôi có thể nói, bạn cung cấp cho wsdl một đường dẫn đến keystore bằng cách thiết lập tài sản, như thế nàyXác thực ứng dụng khách WSDL và nhiều Certs
System.setProperty("javax.net.ssl.keyStore",
keyStore);
System.setProperty("javax.net.ssl.keyStorePassword",
keyStorePassword);
Tôi đang theo tutorial này . Hiện tại, đối với nhiều chứng chỉ trong kho khóa, như trong thẻ thông minh, điều này thể hiện sự cố vì không có cách nào để chỉ định loại chứng chỉ bạn muốn sử dụng trên thẻ thông minh đó. Có vẻ như wsdl chọn cert đầu tiên trong kho khóa, có thể là chứng chỉ sai để xác thực.
Câu hỏi của tôi là 2 lần:
Có cách nào khác hơn là làm một
System.setProperty
để nói với wsdl mà giấy chứng nhận sử dụng không? Tôi có thể làm gì để chỉ định chứng chỉ nào vì hầu hết mã được tạo bởi wsdl bằng cách sử dụngwsconsume
?Chỉ
System.setProperty()
chỉ cho phép bạn chỉ định đường dẫn. Có cách nào để chỉ định một đối tượng không? Cách tôi nhận được giấy chứng nhận tắt của smartcard là bằng cách sử dụng lớp SunPKCS11 (như được tìm thấy here). Tuy nhiên, điều này trả về cho tôi một đối tượng keystore, và theo như tôi biếtSystem.setProperty()
muốn một đường dẫn.
Cảm ơn sự giúp đỡ của bạn!