Class SecurityUtil

java.lang.Object
com.sun.xml.wss.impl.misc.SecurityUtil

public class SecurityUtil extends Object
Utility class for the Encryption and Signature related methods
Author:
Ashutosh Shahi
  • Field Details

    • log

      protected static final Logger log
  • Constructor Details

    • SecurityUtil

      public SecurityUtil()
      Creates a new instance of SecurityUtil
  • Method Details

    • generateSymmetricKey

      public static SecretKey generateSymmetricKey(String algorithm) throws com.sun.xml.wss.XWSSecurityException
      Throws:
      com.sun.xml.wss.XWSSecurityException
    • getLengthFromAlgorithm

      public static int getLengthFromAlgorithm(String algorithm) throws com.sun.xml.wss.XWSSecurityException
      Lookup method to get the Key Length based on algorithm TODO: Not complete yet, need to add more algorithms NOTE: This method should only be used for DerivedKeyTokenLengths
      Throws:
      com.sun.xml.wss.XWSSecurityException
    • generateUUID

      public static String generateUUID()
    • P_SHA1

      public static byte[] P_SHA1(byte[] secret, byte[] seed) throws Exception
      Throws:
      Exception
    • P_SHA1

      public static byte[] P_SHA1(byte[] secret, byte[] seed, int requiredSize) throws NoSuchAlgorithmException, InvalidKeyException
      Throws:
      NoSuchAlgorithmException
      InvalidKeyException
    • getSecretKeyAlgorithm

      public static String getSecretKeyAlgorithm(String encryptionAlgo)
    • checkIncludeTokenPolicyOpt

      public static void checkIncludeTokenPolicyOpt(JAXBFilterProcessingContext context, AuthenticationTokenPolicy.UsernameTokenBinding untBinding, String unTokenid) throws com.sun.xml.wss.XWSSecurityException
      Throws:
      com.sun.xml.wss.XWSSecurityException
    • checkIncludeTokenPolicy

      public static void checkIncludeTokenPolicy(FilterProcessingContext context, AuthenticationTokenPolicy.X509CertificateBinding certInfo, String x509id) throws com.sun.xml.wss.XWSSecurityException
      Throws:
      com.sun.xml.wss.XWSSecurityException
    • checkIncludeTokenPolicyOpt

      public static void checkIncludeTokenPolicyOpt(JAXBFilterProcessingContext context, AuthenticationTokenPolicy.X509CertificateBinding certInfo, String x509id) throws com.sun.xml.wss.XWSSecurityException
      Throws:
      com.sun.xml.wss.XWSSecurityException
    • getWsuIdOrId

      public static String getWsuIdOrId(Element elem) throws com.sun.xml.wss.XWSSecurityException
      Throws:
      com.sun.xml.wss.XWSSecurityException
    • resolveSCT

      public static void resolveSCT(FilterProcessingContext context, SecureConversationTokenKeyBinding sctBinding) throws com.sun.xml.wss.XWSSecurityException
      Throws:
      com.sun.xml.wss.XWSSecurityException
    • resolveIssuedToken

      public static void resolveIssuedToken(FilterProcessingContext context, IssuedTokenKeyBinding itkb) throws com.sun.xml.wss.XWSSecurityException
      Throws:
      com.sun.xml.wss.XWSSecurityException
    • initInferredIssuedTokenContext

      public static void initInferredIssuedTokenContext(FilterProcessingContext wssContext, com.sun.xml.ws.security.Token str, Key returnKey) throws com.sun.xml.wss.XWSSecurityException
      Throws:
      com.sun.xml.wss.XWSSecurityException
    • isEncryptedKey

      public static boolean isEncryptedKey(javax.xml.soap.SOAPElement elem)
    • isBinarySecret

      public static boolean isBinarySecret(javax.xml.soap.SOAPElement elem)
    • locateBySCTId

      public static SecurityContextTokenImpl locateBySCTId(FilterProcessingContext context, String sctId) throws com.sun.xml.wss.XWSSecurityException
      Throws:
      com.sun.xml.wss.XWSSecurityException
    • updateSamlVsKeyCache

      public static void updateSamlVsKeyCache(com.sun.xml.ws.security.SecurityTokenReference str, FilterProcessingContext ctx, Key symKey)
    • updateSamlVsKeyCache

      public static void updateSamlVsKeyCache(com.sun.xml.ws.security.secext10.SecurityTokenReferenceType str, FilterProcessingContext ctx, Key symKey)
    • insertCertificate

      public static void insertCertificate(FilterProcessingContext context, AuthenticationTokenPolicy.X509CertificateBinding certInfo, String x509id) throws com.sun.xml.wss.XWSSecurityException
      Throws:
      com.sun.xml.wss.XWSSecurityException
    • getDataEncryptionAlgo

      public static String getDataEncryptionAlgo(JAXBFilterProcessingContext context)
    • loadFromContext

      public static URL loadFromContext(String configFileName, Object context)
      Returns a URL pointing to the given config file. The file name is looked up as a resource from a ServletContext. May return null if the file can not be found.
      Parameters:
      configFileName - The name of the file resource
      context - A ServletContext object. May not be null.
    • loadFromClasspath

      public static URL loadFromClasspath(String configFileName)
      Returns a URL pointing to the given config file. The file is looked up as a resource on the classpath. May return null if the file can not be found.
      Parameters:
      configFileName - the name of the file resource. May not be null.
    • convertSTRToElement

      public static Element convertSTRToElement(Object strElem, Document doc) throws com.sun.xml.wss.XWSSecurityException
      Throws:
      com.sun.xml.wss.XWSSecurityException
    • copySubject

      public static void copySubject(Subject to, Subject from)
    • getSubject

      public static Subject getSubject(Map context)
    • getSCT

      public static com.sun.xml.ws.security.SecurityContextToken getSCT(com.sun.xml.ws.security.SecurityContextToken sct, com.sun.xml.ws.api.SOAPVersion version)
    • copy

      public static void copy(Map p1, Map p2)
    • newInstance

      public static Object newInstance(String className, ClassLoader classLoader, String spiName)
    • loadSPIClass

      public static Object loadSPIClass(URL url, String spiName)
    • toLong

      public static long toLong(String lng) throws com.sun.xml.wss.XWSSecurityException
      Throws:
      com.sun.xml.wss.XWSSecurityException
    • getKeyAlgo

      public static String getKeyAlgo(String algo)