vertrauenswürdige Zertifikatseinträge sind nicht kennwortgeschütz

Ich habe eine CER-Datei von einer anderen Partei bereitgestellt. Ich muss mit dieser .cer-Datei einen saml-Berechtigungsnachweis erstellen.

Dafür habe ich die .cer-Datei mit dem folgenden Befehl in die jks-Datei importiert. (Das Passwort ist dasselbe wie das Passwort. Es wurde von der Eingabeaufforderung aufgefordert, das Zertifikat zu akzeptieren. Ich habe es gegeben und dann wurde das Zertifikat zum Keystore hinzugefügt.)

keytool -importcert -file xyz.cer -keystore test.jks -alias "testsp"

Dann habe ich diese JKS-Datei verwendet, um die folgenden Anmeldeinformationen zu erstellen.

    private Credential getCredential() {
          KeyStore keystore = readKeystoreFromFile("C:\\Users\\WTC\\Downloads\\icicistage\\test.jks", "password");
          Map<String, String> passwordMap = new HashMap<String, String>();
          passwordMap.put("testsp", "password");
          KeyStoreCredentialResolver resolver = new KeyStoreCredentialResolver(keystore, passwordMap);

          Criteria criteria = new EntityIDCriteria("testsp");
          CriteriaSet criteriaSet = new CriteriaSet(criteria);

          Credential credential = null;
          try {
             credential = resolver.resolveSingle(criteriaSet);
          } catch (SecurityException e) {
              e.printStackTrace();
          }
         return credential;
    }

    private static KeyStore readKeystoreFromFile(String pathToKeyStore, String keyStorePassword) {
        try {
            KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
            InputStream inputStream = new FileInputStream(pathToKeyStore);
            keystore.load(inputStream, keyStorePassword.toCharArray());
            inputStream.close();
            return keystore;
        } catch (Exception e) {
            throw new RuntimeException("Something went wrong reading keystore", e);
        }
    }

Die folgende Zeile gibt mir den folgenden Fehler im try-Block.

credential = resolver.resolveSingle (criterSet);

java.lang.UnsupportedOperationException: Einträge für vertrauenswürdige Zertifikate sind nicht kennwortgeschützt

Kann mir jemand helfen, dieses Problem zu lösen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage