Package net.jsign.jca
Class OpenPGPCardSigningService
- java.lang.Object
-
- net.jsign.jca.OpenPGPCardSigningService
-
- All Implemented Interfaces:
SigningService
public class OpenPGPCardSigningService extends Object implements SigningService
Signing service using an OpenPGP smart card. OpenPGP cards contain up to 3 keys (for signing, authentication and encryption), but all can be used for code signing. The card may contain an X.509 certificate for each key, the intermediate certificates have to be provided externally.- Since:
- 5.0
-
-
Constructor Summary
Constructors Constructor Description OpenPGPCardSigningService(String pin, Function<String,Certificate[]> certificateStore)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<String>aliases()Returns the certificate aliases available.Certificate[]getCertificateChain(String alias)Returns the certificate chain for the alias specified.StringgetName()Returns the name of the service.SigningServicePrivateKeygetPrivateKey(String alias, char[] password)Returns the private key for the certificate alias specified.byte[]sign(SigningServicePrivateKey privateKey, String algorithm, byte[] data)Sign the data with the private key specified.
-
-
-
Constructor Detail
-
OpenPGPCardSigningService
public OpenPGPCardSigningService(String pin, Function<String,Certificate[]> certificateStore) throws javax.smartcardio.CardException
- Throws:
javax.smartcardio.CardException
-
-
Method Detail
-
getName
public String getName()
Description copied from interface:SigningServiceReturns the name of the service.- Specified by:
getNamein interfaceSigningService
-
aliases
public List<String> aliases() throws KeyStoreException
Description copied from interface:SigningServiceReturns the certificate aliases available.- Specified by:
aliasesin interfaceSigningService- Throws:
KeyStoreException
-
getCertificateChain
public Certificate[] getCertificateChain(String alias) throws KeyStoreException
Description copied from interface:SigningServiceReturns the certificate chain for the alias specified.- Specified by:
getCertificateChainin interfaceSigningService- Parameters:
alias- the name of the certificate- Throws:
KeyStoreException
-
getPrivateKey
public SigningServicePrivateKey getPrivateKey(String alias, char[] password) throws UnrecoverableKeyException
Description copied from interface:SigningServiceReturns the private key for the certificate alias specified.- Specified by:
getPrivateKeyin interfaceSigningService- Parameters:
alias- the name of the certificatepassword- the secret required to access the key- Throws:
UnrecoverableKeyException
-
sign
public byte[] sign(SigningServicePrivateKey privateKey, String algorithm, byte[] data) throws GeneralSecurityException
Description copied from interface:SigningServiceSign the data with the private key specified.- Specified by:
signin interfaceSigningService- Parameters:
privateKey- the private keyalgorithm- the signing algorithm (for example SHA256withRSA)data- the data to be signed- Throws:
GeneralSecurityException
-
-