Class VOMSACUtils

java.lang.Object
org.italiangrid.voms.asn1.VOMSACUtils
All Implemented Interfaces:
VOMSConstants

public class VOMSACUtils extends Object implements VOMSConstants
A set of VOMS AC handling utilities.
  • Field Details

  • Constructor Details

    • VOMSACUtils

      private VOMSACUtils()
  • Method Details

    • getVOMSExtensionFromCertificate

      public static byte[] getVOMSExtensionFromCertificate(X509Certificate cert)
      Returns the VOMS extension, if present, in a given certificate
      Parameters:
      cert - the X509Certificate where the extension will be searched
      Returns:
      the DER-encoded octet string of the extension value or null if it is not present.
    • getACsFromVOMSExtension

      public static List<org.bouncycastle.asn1.x509.AttributeCertificate> getACsFromVOMSExtension(byte[] vomsExtension) throws IOException
      Deserializes the VOMS Attribute certificates in a given certificate extension
      Parameters:
      vomsExtension - the VOMS extension
      Returns:
      the possibly empty List of AttributeCertificate extracted from a given extension
      Throws:
      IOException - in case of deserialization errors
    • getACsFromCertificate

      public static List<org.bouncycastle.asn1.x509.AttributeCertificate> getACsFromCertificate(X509Certificate cert) throws IOException
      Deserializes the VOMS Attribute certificates, if present, in a given certificate passed as argument
      Parameters:
      cert - the X509Certificate where the ACs will be searched
      Returns:
      the possibly empty List of AttributeCertificate objects extracted from the VOMS extension
      Throws:
      IOException - in case of deserialization errors
    • deserializeFQANs

      private static List<String> deserializeFQANs(org.bouncycastle.asn1.x509.IetfAttrSyntax attr)
      Deserializes the FQANs contained in a IetfAttrSyntax object
      Parameters:
      attr - the IetfAttrSyntax attribute syntax object containing the VOMS extension
      Returns:
      a List of FQANs
    • deserializeACTargets

      private static List<String> deserializeACTargets(org.bouncycastle.cert.X509AttributeCertificateHolder ac)
    • raiseACNonConformantError

      private static void raiseACNonConformantError(String errorString)
    • policyAuthoritySanityChecks

      private static String policyAuthoritySanityChecks(org.bouncycastle.asn1.x509.IetfAttrSyntax attr)
      Peforms some sanity checks on the format of the policy authority field found in a VOMS extension. The enforced format is: vo://host:port
      Parameters:
      attr - the IetfAttrSyntax attribute syntax object containing the VOMS extension
      Returns:
      the validated policy authority as a String
    • deserializeVOMSAttributes

      public static List<VOMSAttribute> deserializeVOMSAttributes(List<org.bouncycastle.asn1.x509.AttributeCertificate> acs)
      Deserializes the information in a list of VOMS attribute certificates.
      Parameters:
      acs - a List of VOMS acs
      Returns:
      a possibly empty list of VOMSAttribute
    • deserializeVOMSAttributes

      public static VOMSAttribute deserializeVOMSAttributes(org.bouncycastle.asn1.x509.AttributeCertificate ac)
      Deserializes the information in a VOMS attribute certificate.
      Parameters:
      ac - a VOMS AttributeCertificate
      Returns:
      a VOMSAttribute object which provides more convenient access to the VOMS authorization information
    • deserializeGAs

      private static List<VOMSGenericAttribute> deserializeGAs(org.bouncycastle.cert.X509AttributeCertificateHolder ac)
      Deserializes the VOMS generic attributes
      Parameters:
      ac - the VOMS X509AttributeCertificateHolder
      Returns:
      the List of VOMSGenericAttribute contained in the ac
    • deserializeACCerts

      private static X509Certificate[] deserializeACCerts(org.bouncycastle.cert.X509AttributeCertificateHolder ac)
      Deserializes the VOMS ACCerts extension
      Parameters:
      ac - the VOMS X509AttributeCertificateHolder
      Returns:
      the parsed array of X509Certificate