Package org.xipki.security
Class DfltConcurrentContentSigner
- java.lang.Object
-
- org.xipki.security.DfltConcurrentContentSigner
-
- All Implemented Interfaces:
Closeable,AutoCloseable,ConcurrentContentSigner
public class DfltConcurrentContentSigner extends Object implements ConcurrentContentSigner
An implementation ofConcurrentContentSigner.- Since:
- 2.0.0
- Author:
- Lijun Liao (xipki)
-
-
Constructor Summary
Constructors Constructor Description DfltConcurrentContentSigner(boolean mac, List<XiContentSigner> signers)DfltConcurrentContentSigner(boolean mac, List<XiContentSigner> signers, Key signingKey)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConcurrentBagEntrySignerborrowSigner()Borrows a signer with implementation-dependent default timeout.ConcurrentBagEntrySignerborrowSigner(int soTimeout)Borrows a signer.voidclose()SignAlgogetAlgorithm()Returns the algorithm.X509CertgetCertificate()X509Cert[]getCertificateChain()StringgetName()PublicKeygetPublicKey()byte[]getSha1OfMacKey()KeygetSigningKey()Get the signing key.voidinitialize(String conf, org.xipki.password.PasswordResolver passwordResolver)Initializes me.booleanisHealthy()booleanisMac()voidrequiteSigner(ConcurrentBagEntrySigner signer)voidsetCertificateChain(X509Cert[] certificateChain)Set the CertificateChain.voidsetPublicKey(PublicKey publicKey)Sets the public key.voidsetSha1DigestOfMacKey(byte[] digest)byte[]sign(byte[] data)Sign the data.byte[][]sign(byte[][] data)Sign the data.
-
-
-
Constructor Detail
-
DfltConcurrentContentSigner
public DfltConcurrentContentSigner(boolean mac, List<XiContentSigner> signers) throws NoSuchAlgorithmException- Throws:
NoSuchAlgorithmException
-
DfltConcurrentContentSigner
public DfltConcurrentContentSigner(boolean mac, List<XiContentSigner> signers, Key signingKey) throws NoSuchAlgorithmException- Throws:
NoSuchAlgorithmException
-
-
Method Detail
-
getName
public String getName()
- Specified by:
getNamein interfaceConcurrentContentSigner
-
isMac
public boolean isMac()
- Specified by:
isMacin interfaceConcurrentContentSigner
-
setSha1DigestOfMacKey
public void setSha1DigestOfMacKey(byte[] digest)
-
getSha1OfMacKey
public byte[] getSha1OfMacKey()
- Specified by:
getSha1OfMacKeyin interfaceConcurrentContentSigner
-
getAlgorithm
public SignAlgo getAlgorithm()
Description copied from interface:ConcurrentContentSignerReturns the algorithm.- Specified by:
getAlgorithmin interfaceConcurrentContentSigner- Returns:
- algorithm
-
borrowSigner
public ConcurrentBagEntrySigner borrowSigner() throws NoIdleSignerException
Description copied from interface:ConcurrentContentSignerBorrows a signer with implementation-dependent default timeout.- Specified by:
borrowSignerin interfaceConcurrentContentSigner- Returns:
- the signer
- Throws:
NoIdleSignerException- If no idle signer is available
-
borrowSigner
public ConcurrentBagEntrySigner borrowSigner(int soTimeout) throws NoIdleSignerException
Borrows a signer.- Specified by:
borrowSignerin interfaceConcurrentContentSigner- Parameters:
soTimeout- timeout in milliseconds, 0 for infinitely.- Returns:
- the signer
- Throws:
NoIdleSignerException- If no idle signer is available
-
requiteSigner
public void requiteSigner(ConcurrentBagEntrySigner signer)
- Specified by:
requiteSignerin interfaceConcurrentContentSigner
-
initialize
public void initialize(String conf, org.xipki.password.PasswordResolver passwordResolver) throws XiSecurityException
Description copied from interface:ConcurrentContentSignerInitializes me.- Specified by:
initializein interfaceConcurrentContentSigner- Parameters:
conf- Configuration. Could benull.passwordResolver- Password resolver. Could benull.- Throws:
XiSecurityException- if error during the initialization occurs.
-
getSigningKey
public Key getSigningKey()
Description copied from interface:ConcurrentContentSignerGet the signing key.- Specified by:
getSigningKeyin interfaceConcurrentContentSigner- Returns:
- the signing key if possible.
nullmay be returned.
-
setCertificateChain
public void setCertificateChain(X509Cert[] certificateChain)
Description copied from interface:ConcurrentContentSignerSet the CertificateChain.- Specified by:
setCertificateChainin interfaceConcurrentContentSigner- Parameters:
certificateChain- Certificate chain of this signer. Could benull.
-
getPublicKey
public PublicKey getPublicKey()
- Specified by:
getPublicKeyin interfaceConcurrentContentSigner
-
setPublicKey
public void setPublicKey(PublicKey publicKey)
Description copied from interface:ConcurrentContentSignerSets the public key.- Specified by:
setPublicKeyin interfaceConcurrentContentSigner- Parameters:
publicKey- Public key of this signer. Must not benull.
-
getCertificate
public X509Cert getCertificate()
- Specified by:
getCertificatein interfaceConcurrentContentSigner
-
getCertificateChain
public X509Cert[] getCertificateChain()
- Specified by:
getCertificateChainin interfaceConcurrentContentSigner
-
isHealthy
public boolean isHealthy()
- Specified by:
isHealthyin interfaceConcurrentContentSigner
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
sign
public byte[] sign(byte[] data) throws NoIdleSignerException, SignatureExceptionDescription copied from interface:ConcurrentContentSignerSign the data.- Specified by:
signin interfaceConcurrentContentSigner- Parameters:
data- Data to be signed. Must not benull.- Returns:
- the signature
- Throws:
NoIdleSignerException- If no idle signer is availableSignatureException- If could not sign the data.
-
sign
public byte[][] sign(byte[][] data) throws NoIdleSignerException, SignatureExceptionDescription copied from interface:ConcurrentContentSignerSign the data.- Specified by:
signin interfaceConcurrentContentSigner- Parameters:
data- Data to be signed. Must not benull.- Returns:
- the signature
- Throws:
NoIdleSignerException- If no idle signer is availableSignatureException- If could not sign the data.
-
-