soapUI能否访问windows存储的证书以进行数字签名请求?

soapUI能否访问windows存储的证书以进行数字签名请求?,soap,soapui,digital-signature,Soap,Soapui,Digital Signature,我与本海报有相同的需求,但没有PEM文件: 我确实有本地计算机证书,我想在我的windows计算机上用它签名,我可以在MMC控制台的证书管理单元中看到它。根据证书详细信息,它可以用于数字签名,因为它包含私钥 MMC控制台只允许我在没有私钥的情况下导出此证书(可以理解) 有人知道SoapUI(或任何基于Java的客户端)是否可以使用此证书对请求进行数字签名吗?谢谢。我认为使用soapui时,没有特定的连接器可以在windows密钥库上使用私钥 如果您想使用java客户端windows密钥库上的私

我与本海报有相同的需求,但没有PEM文件:

我确实有本地计算机证书,我想在我的windows计算机上用它签名,我可以在MMC控制台的证书管理单元中看到它。根据证书详细信息,它可以用于数字签名,因为它包含私钥

MMC控制台只允许我在没有私钥的情况下导出此证书(可以理解)


有人知道SoapUI(或任何基于Java的客户端)是否可以使用此证书对请求进行数字签名吗?谢谢。

我认为使用soapui时,没有特定的连接器可以在windows密钥库上使用私钥

如果您想使用java客户端windows密钥库上的私钥进行签名,您可以使用SUNMSCAPI提供程序( ),我给你一个代码示例:

import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.Signature;

import sun.security.mscapi.SunMSCAPI;

public class WindowsKeystoreSample {

public static final String USER_STORE = "Windows-MY";
public static final String MACHINE_STORE = "Windows-ROOT";

public static void main(String args[]) throws Exception{

    // instantiate the keystore
    KeyStore keyStore = KeyStore.getInstance(USER_STORE, new SunMSCAPI());
    keyStore.load(null, null);

    String keyAlias = "key alias";
    // password if you protect the windows keystore... if not null
    char[] password = "somepass".toCharArray();

    Signature sign = Signature.getInstance("SHA1WithRSA");
    sign.initSign((PrivateKey) keyStore.getKey(keyAlias, password));
    sign.update("dateToBeSigned".getBytes());
    byte[] signedData = sign.sign();

}

}

请记住,要使用sunmscapi,您需要java 1.6版或更高版本。

谢谢您的帖子。我已经超越了这是一个迫切的需要,但肯定会回来,并尝试这一点,如果我有时间