Jak naprawić błąd „java.security.cert.CertificateException: Brak tematu alternatywne nazwy występuje”?

Mam klienta usługi WWW Java, który korzysta z usługi internetowej za pośrednictwem protokołu HTTPS.

import javax.xml.ws.Service;

@WebServiceClient(name = "ISomeService", targetNamespace = "http://tempuri.org/", wsdlLocation = "...")
public class ISomeService
    extends Service
{

    public ISomeService() {
        super(__getWsdlLocation(), ISOMESERVICE_QNAME);
    }

Kiedy łączę się z adresem URL usługi (https://AAA.BBB.CCC.DDD:9443/ISomeService ), Dostaję wyjątekjava.security.cert.CertificateException: No subject alternative names present.

Aby to naprawić, najpierw pobiegłemopenssl s_client -showcerts -connect AAA.BBB.CCC.DDD:9443 > certs.txt i dostał następujące treści w plikucerts.txt:

CONNECTED(00000003)
---
Certificate chain
 0 s:/CN=someSubdomain.someorganisation.com
   i:/CN=someSubdomain.someorganisation.com
-----BEGIN CERTIFICATE-----
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-----END CERTIFICATE-----
---
Server certificate
subject=/CN=someSubdomain.someorganisation.com
issuer=/CN=someSubdomain.someorganisation.com
---
No client certificate CA names sent
---
SSL handshake has read 489 bytes and written 236 bytes
---
New, TLSv1/SSLv3, Cipher is RC4-MD5
Server public key is 512 bit
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : RC4-MD5            
    Session-ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Session-ID-ctx:                 
    Master-Key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Key-Arg   : None
    Start Time: 1382521838
    Timeout   : 300 (sec)
    Verify return code: 21 (unable to verify the first certificate)
---

AFAIK, teraz muszę

wyodrębnić częśćcerts.txt pomiędzy-----BEGIN CERTIFICATE----- i-----END CERTIFICATE-----,zmodyfikuj go, aby nazwa certyfikatu była równaAAA.BBB.CCC.DDD inastępnie zaimportuj wynik za pomocąkeytool -importcert -file fileWithModifiedCertificate (gdziefileWithModifiedCertificate jest wynikiem operacji 1 i 2).

Czy to jest poprawne?

Jeśli tak, to w jaki sposób mogę wykonać certyfikat z kroku 1 z dodatkiem opartym na protokole IP (AAA.BBB.CCC.DDD)?

Aktualizacja 1 (23.10.2013 15:37 MSK): W odpowiedzi na apodobne pytanie, Czytam:

Jeśli nie masz kontroli nad tym serwerem, użyj jego nazwy hosta (pod warunkiem, że istnieje przynajmniej CN odpowiadający tej nazwie hosta w istniejącym certyfikacie).

Co dokładnie oznacza „używać”?

questionAnswers(12)

yourAnswerToTheQuestion