Search in sources :

Example 56 with P11TokenException

use of org.xipki.security.exception.P11TokenException in project xipki by xipki.

the class P11Identity method setCertificates.

public void setCertificates(X509Certificate[] certificateChain) throws P11TokenException {
    if (CollectionUtil.isEmpty(certificateChain)) {
        this.certificateChain = null;
    } else {
        PublicKey pk = certificateChain[0].getPublicKey();
        if (!this.publicKey.equals(pk)) {
            throw new P11TokenException("certificateChain is not for the key");
        }
        this.certificateChain = certificateChain;
    }
}
Also used : PublicKey(java.security.PublicKey) DSAPublicKey(java.security.interfaces.DSAPublicKey) RSAPublicKey(java.security.interfaces.RSAPublicKey) ECPublicKey(java.security.interfaces.ECPublicKey) P11TokenException(org.xipki.security.exception.P11TokenException)

Example 57 with P11TokenException

use of org.xipki.security.exception.P11TokenException in project xipki by xipki.

the class P11MacContentSignerBuilder method createSigner.

// constructor
public ConcurrentContentSigner createSigner(AlgorithmIdentifier signatureAlgId, int parallelism) throws XiSecurityException, P11TokenException {
    ParamUtil.requireMin("parallelism", parallelism, 1);
    List<XiContentSigner> signers = new ArrayList<>(parallelism);
    for (int i = 0; i < parallelism; i++) {
        XiContentSigner signer = new P11MacContentSigner(cryptService, identityId, signatureAlgId);
        signers.add(signer);
    }
    // end for
    final boolean mac = true;
    DfltConcurrentContentSigner concurrentSigner;
    try {
        concurrentSigner = new DfltConcurrentContentSigner(mac, signers, null);
    } catch (NoSuchAlgorithmException ex) {
        throw new XiSecurityException(ex.getMessage(), ex);
    }
    try {
        byte[] sha1HashOfKey = cryptService.getIdentity(identityId).digestSecretKey(PKCS11Constants.CKM_SHA_1);
        concurrentSigner.setSha1DigestOfMacKey(sha1HashOfKey);
    } catch (P11TokenException | XiSecurityException ex) {
        LogUtil.warn(LOG, ex, "could not compute the digest of secret key " + identityId);
    }
    return concurrentSigner;
}
Also used : XiSecurityException(org.xipki.security.exception.XiSecurityException) DfltConcurrentContentSigner(org.xipki.security.DfltConcurrentContentSigner) P11TokenException(org.xipki.security.exception.P11TokenException) ArrayList(java.util.ArrayList) NoSuchAlgorithmException(java.security.NoSuchAlgorithmException) XiContentSigner(org.xipki.security.XiContentSigner)

Aggregations

P11TokenException (org.xipki.security.exception.P11TokenException)57 TokenException (iaik.pkcs.pkcs11.TokenException)16 XiSecurityException (org.xipki.security.exception.XiSecurityException)16 IOException (java.io.IOException)11 Session (iaik.pkcs.pkcs11.Session)10 P11EntityIdentifier (org.xipki.security.pkcs11.P11EntityIdentifier)10 ECPrivateKey (iaik.pkcs.pkcs11.objects.ECPrivateKey)9 SecretKey (iaik.pkcs.pkcs11.objects.SecretKey)9 ValuedSecretKey (iaik.pkcs.pkcs11.objects.ValuedSecretKey)9 NoSuchAlgorithmException (java.security.NoSuchAlgorithmException)9 DSAPrivateKey (iaik.pkcs.pkcs11.objects.DSAPrivateKey)8 PrivateKey (iaik.pkcs.pkcs11.objects.PrivateKey)8 RSAPrivateKey (iaik.pkcs.pkcs11.objects.RSAPrivateKey)8 SM2PrivateKey (iaik.pkcs.pkcs11.objects.SM2PrivateKey)8 DEROctetString (org.bouncycastle.asn1.DEROctetString)8 P11ObjectIdentifier (org.xipki.security.pkcs11.P11ObjectIdentifier)8 ECPublicKey (iaik.pkcs.pkcs11.objects.ECPublicKey)7 DSAPublicKey (iaik.pkcs.pkcs11.objects.DSAPublicKey)6 PublicKey (iaik.pkcs.pkcs11.objects.PublicKey)6 RSAPublicKey (iaik.pkcs.pkcs11.objects.RSAPublicKey)6