密钥库 (privatekey) 在 junit 中返回 null

Keystore (privatekey) returning null in junit

提问人:shaik ameen 提问时间:11/15/2023 更新时间:11/15/2023 访问量:17

问:

我是 junit5 的新手,我想为下面的方法编写测试方法,但在测试方法中,尽管提供了值,但私钥返回 null 我不知道我需要提供什么样的确切值。

public static PrivateKey getPrivateKey(KeyStore keystore, String keyId,
        char[] keyPwd) throws BenefitsException {
    PrivateKey privateKey = null;
    try {
        
        if (keystore == null || keyPwd == null || keyId == null
                || "".equals(keyId)) {
            return privateKey;
        } else {
            
            
            privateKey = (PrivateKey) keystore.getKey(keyId, keyPwd); 
        }
    } catch (NoSuchAlgorithmException |
            UnrecoverableKeyException
            
            | KeyStoreException e) {
        throw new BenefitsException("Error in getPrivateKey method : ", e);
     
    }
    return privateKey;

这是我的测试方法,有没有人弄清楚为什么 privatekey 返回 null
@Test public void getPrivateKey_ExceptionTest() 抛出 Exception{

    KeyStore keystoreMock = Mockito.mock(KeyStore.class);
FieldUtils.writeField(keystoreMock, "keyStoreSpi", Mockito.mock(KeyStoreSpi.class),true);    
    FieldUtils.writeField(keystoreMock, "initialized", true, true);
    char[] pwd= {'c','h','a','n','g','e','i','t'};
    cryptoUtils.getPrivateKey(keystoreMock, "somestring", pwd);
    
}
朱尼特5

评论


答: 暂无答案