Zasadniczo muszę zabezpieczyć moje żądania dotyczące tej usługi.Wywoływanie usługi WWW Java z klienta C# przy użyciu certyfikatów JKS i/lub PFX
jakie zostały dostarczone klientowi JAR
testową i dwa pliki, trust.jks
i Client.pfx
, ale nie mam pojęcia, jak z nich korzystać: Rozumiem klasa X509Certificate2 jest zaangażowany w jakiś sposób.
Linia poleceń do wykonania klienta testowego jest następujący:
java -Djavax.net.ssl.trustStore=trust.jks -Djavax.net.ssl.trustStorePassword=******** -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.keyStore=Client.pfx -Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.keyStorePassword=******** -jar TestClient.jar https://myServiceurl
To działa, więc mogę zobaczyć zarówno usługę, a sama usługa powinna być prawidłowo skonfigurowany.
Mój klient C# (nie jest to kierowanie .NET 2.0) korzysta z normalnego Web Reference wykonać żądania:
wsReferenceClient service = new wsReferenceClient();
//certificate code here ?
//maybe service.ClientCertificates.Add(<X509Certificate2 object built somehow>); ?
service.MyRequest(myParameters);
Ustawienia serwera powinien być ustawiony prawidłowo.
Grzebałem przy metodach X509Certificate2
, ale nie mogę wyjść z czymś, co ma sens, więc odpowiedź na pytanie "czego próbowałeś?" Pytanie brzmi: "Naprawdę nie wiem, co należy wypróbować w pierwszej kolejności".
Każda pomoc będzie naprawdę doceniana.
AFAIK sklep JKS jest autorskim rozwiązaniem Java. Musisz wyeksportować klucze publiczne (być może cały łańcuch) za pomocą keytool i zaimportować je do magazynu w formacie otwartym, takim jak PKCS. – home
Prawidłowo, chociaż wolałbym brać z niego zaufane certyfikaty i używać ich. Plik pfx powinien już zawierać klucz prywatny i łańcuch certyfikatów. –
Więc, jeśli dobrze rozumiem, muszę plik JKS jest jadalne do mojego klienta w jakiś sposób? Myślę, że będę google w pobliżu trochę więcej ... – Alex