Мне нужен SoapUI, чтобы каким-то образом получить правильный сертификат из хранилища сертификатов Windows и использовать этот сертификат для запросов мыла.Мы используем жесткие сертификаты (USB и т. Д.) Для сертификатов и не можем экспортировать их в виде файла pfx.
После некоторых исследований я вставил код Java, который получает сертификат x509, и поместил его в раздел сценария загрузки для SoapUI.
import java.security.KeyStore;
import java.security.cert.X509Certificate;
import java.security.PrivateKey;
import java.security.Provider;
import java.security.Signature;
KeyStore keystore = KeyStore.getInstance("Windows-MY", "SunMSCAPI");
keystore.load(null, null);
for (Enumeration oEnum = keystore.aliases(); oEnum.hasMoreElements();) {
String sAlias = (String) oEnum.nextElement();
X509Certificate oPublicCertificate = (X509Certificate) keystore.getCertificate(sAlias);
PrivateKey oPrivateKey = (PrivateKey) keystore.getKey(sAlias,null);
if(oPrivateKey == null)
continue;
log.info("Found a private key with Alias name:"+sAlias);
Provider p = keystore.getProvider();
// data to signed
byte[] data ="this is the just for test".getBytes();
// Signing the data
Signature sig = Signature.getInstance("SHA1withRSA");
sig.initSign(oPrivateKey);
sig.update(data);
byte[] signature = sig.sign();
Signature verifier = Signature.getInstance("SHA1withRSA", p);
verifier.initVerify(oPublicCertificate);
verifier.update(data);
log.info("the verification result "+verifier.verify(signature));
}
Таким образом, он находит сертификат и позволяет мне ввести мой пин-код, но как мне прикрепить этот сертификат до того, как будут сделаны какие-либо мыльные звонки.Или, если есть другой способ сделать это.Спасибо.