com.cedarsoft.crypt
Class X509Support

java.lang.Object
  extended by com.cedarsoft.crypt.X509Support

public class X509Support
extends java.lang.Object

X509 Support

Author:
Johannes Schneider (js@cedarsoft.com)

Constructor Summary
X509Support(java.net.URL certificate)
          Creates a new X509 support without any signing capabilities
X509Support(java.net.URL certificate, java.net.URL privateKey)
          Creates a new X509 support
X509Support(java.security.cert.X509Certificate certificate)
          Creates a new x509 support
X509Support(java.security.cert.X509Certificate certificate, java.security.interfaces.RSAPrivateKey privateKey)
          Creates a new x509 support
 
Method Summary
 byte[] cipher(byte[] plainText)
          cipher
 byte[] decipher(byte[] bytes)
          decipher
 java.security.cert.X509Certificate getCertificate()
          Returns the certificate
 java.security.interfaces.RSAPrivateKey getPrivateKey()
          Returns the private key (if there is one)
 boolean isPrivateKeyAvailable()
          Returns whether the private key is available
static java.security.cert.X509Certificate readCertificate(java.net.URL certificateUrl)
          Reads the x509 certificate from the given url
static java.security.interfaces.RSAPrivateKey readPrivateKey(java.net.URL privateKeyUrl)
          Reads a private key form a url
 Signature sign(byte[] plainText)
          sign
 boolean verifySignature(byte[] plainText, Signature signature)
          verifySignature
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

X509Support

public X509Support(@Nonnull
                   java.net.URL certificate)
            throws java.io.IOException,
                   java.security.GeneralSecurityException
Creates a new X509 support without any signing capabilities

Parameters:
certificate - the certificate
Throws:
java.io.IOException - if any.
java.security.GeneralSecurityException - if any.

X509Support

@Inject
public X509Support(@Nonnull
                          java.net.URL certificate,
                          @PrivateKeyUrl@Nullable
                          java.net.URL privateKey)
            throws java.io.IOException,
                   java.security.GeneralSecurityException
Creates a new X509 support

Parameters:
certificate - the certificate
privateKey - the private key (if available)
Throws:
java.io.IOException - if any.
java.security.GeneralSecurityException - if any.

X509Support

public X509Support(@Nonnull
                   java.security.cert.X509Certificate certificate)
Creates a new x509 support

Parameters:
certificate - the certificate

X509Support

public X509Support(@Nonnull
                   java.security.cert.X509Certificate certificate,
                   @Nullable
                   java.security.interfaces.RSAPrivateKey privateKey)
Creates a new x509 support

Parameters:
certificate - the certificate
privateKey - the (optional) private key
Method Detail

isPrivateKeyAvailable

public boolean isPrivateKeyAvailable()
Returns whether the private key is available

Returns:
whether the private key is available

cipher

@Nonnull
public byte[] cipher(@Nonnull
                             byte[] plainText)
              throws java.security.GeneralSecurityException

cipher

Parameters:
plainText - an array of byte.
Returns:
an array of byte.
Throws:
java.security.GeneralSecurityException - if any.

decipher

@Nonnull
public byte[] decipher(@Nonnull
                               byte[] bytes)
                throws java.security.GeneralSecurityException

decipher

Parameters:
bytes - an array of byte.
Returns:
an array of byte.
Throws:
java.security.GeneralSecurityException - if any.

sign

@Nonnull
public Signature sign(@Nonnull
                              byte[] plainText)
               throws java.security.GeneralSecurityException

sign

Parameters:
plainText - an array of byte.
Returns:
a Signature object.
Throws:
java.security.GeneralSecurityException - if any.

verifySignature

public boolean verifySignature(@Nonnull
                               byte[] plainText,
                               @Nonnull
                               Signature signature)
                        throws java.security.GeneralSecurityException

verifySignature

Parameters:
plainText - an array of byte.
signature - a Signature object.
Returns:
a boolean.
Throws:
java.security.GeneralSecurityException - if any.

getCertificate

@Nonnull
public java.security.cert.X509Certificate getCertificate()
Returns the certificate

Returns:
the certificate

getPrivateKey

@Nonnull
public java.security.interfaces.RSAPrivateKey getPrivateKey()
Returns the private key (if there is one)

Returns:
the private key

readPrivateKey

@Nullable
public static java.security.interfaces.RSAPrivateKey readPrivateKey(@Nullable
                                                                             java.net.URL privateKeyUrl)
                                                             throws java.io.IOException,
                                                                    java.security.GeneralSecurityException
Reads a private key form a url

Parameters:
privateKeyUrl - the url containing the private key
Returns:
the read private key
Throws:
java.io.IOException - if any.
java.security.GeneralSecurityException - if any.

readCertificate

@Nonnull
public static java.security.cert.X509Certificate readCertificate(@Nonnull
                                                                         java.net.URL certificateUrl)
                                                          throws java.io.IOException,
                                                                 java.security.GeneralSecurityException
Reads the x509 certificate from the given url

Parameters:
certificateUrl - the certificate url
Returns:
the certificate
Throws:
java.io.IOException - if any.
java.security.GeneralSecurityException - if any.


Copyright © 2011 cedarsoft GmbH. All Rights Reserved.