com.sun.xml.wss.impl.misc
Class SecurityUtil

java.lang.Object
  extended by 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 Summary
protected static Logger log
           
 
Constructor Summary
SecurityUtil()
          Creates a new instance of SecurityUtil
 
Method Summary
static void checkIncludeTokenPolicy(FilterProcessingContext context, AuthenticationTokenPolicy.X509CertificateBinding certInfo, String x509id)
           
static void checkIncludeTokenPolicyOpt(JAXBFilterProcessingContext context, AuthenticationTokenPolicy.UsernameTokenBinding untBinding, String unTokenid)
           
static void checkIncludeTokenPolicyOpt(JAXBFilterProcessingContext context, AuthenticationTokenPolicy.X509CertificateBinding certInfo, String x509id)
           
static Element convertSTRToElement(Object strElem, Document doc)
           
static void copy(Map p1, Map p2)
           
static void copySubject(Subject to, Subject from)
           
static SecretKey generateSymmetricKey(String algorithm)
           
static String generateUUID()
           
static String getDataEncryptionAlgo(JAXBFilterProcessingContext context)
           
static String getKeyAlgo(String algo)
           
static int getLengthFromAlgorithm(String algorithm)
          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
static SecurityContextToken getSCT(SecurityContextToken sct, SOAPVersion version)
           
static String getSecretKeyAlgorithm(String encryptionAlgo)
           
static Subject getSubject(Map context)
           
static String getWsuIdOrId(Element elem)
           
static void initInferredIssuedTokenContext(FilterProcessingContext wssContext, Token str, Key returnKey)
           
static void insertCertificate(FilterProcessingContext context, AuthenticationTokenPolicy.X509CertificateBinding certInfo, String x509id)
           
static boolean isBinarySecret(SOAPElement elem)
           
static boolean isEncryptedKey(SOAPElement elem)
           
static URL loadFromClasspath(String configFileName)
          Returns a URL pointing to the given config file.
static URL loadFromContext(String configFileName, Object context)
          Returns a URL pointing to the given config file.
static Object loadSPIClass(URL url, String spiName)
           
static SecurityContextTokenImpl locateBySCTId(FilterProcessingContext context, String sctId)
           
static Object newInstance(String className, ClassLoader classLoader, String spiName)
           
static byte[] P_SHA1(byte[] secret, byte[] seed)
           
static byte[] P_SHA1(byte[] secret, byte[] seed, int requiredSize)
           
static void resolveIssuedToken(FilterProcessingContext context, IssuedTokenKeyBinding itkb)
           
static void resolveSCT(FilterProcessingContext context, SecureConversationTokenKeyBinding sctBinding)
           
static long toLong(String lng)
           
static void updateSamlVsKeyCache(SecurityTokenReference str, FilterProcessingContext ctx, Key symKey)
           
static void updateSamlVsKeyCache(SecurityTokenReferenceType str, FilterProcessingContext ctx, Key symKey)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static final Logger log
Constructor Detail

SecurityUtil

public SecurityUtil()
Creates a new instance of SecurityUtil

Method Detail

generateSymmetricKey

public static SecretKey generateSymmetricKey(String algorithm)
                                      throws XWSSecurityException
Throws:
XWSSecurityException

getLengthFromAlgorithm

public static int getLengthFromAlgorithm(String algorithm)
                                  throws 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:
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 XWSSecurityException
Throws:
XWSSecurityException

checkIncludeTokenPolicy

public static void checkIncludeTokenPolicy(FilterProcessingContext context,
                                           AuthenticationTokenPolicy.X509CertificateBinding certInfo,
                                           String x509id)
                                    throws XWSSecurityException
Throws:
XWSSecurityException

checkIncludeTokenPolicyOpt

public static void checkIncludeTokenPolicyOpt(JAXBFilterProcessingContext context,
                                              AuthenticationTokenPolicy.X509CertificateBinding certInfo,
                                              String x509id)
                                       throws XWSSecurityException
Throws:
XWSSecurityException

getWsuIdOrId

public static String getWsuIdOrId(Element elem)
                           throws XWSSecurityException
Throws:
XWSSecurityException

resolveSCT

public static void resolveSCT(FilterProcessingContext context,
                              SecureConversationTokenKeyBinding sctBinding)
                       throws XWSSecurityException
Throws:
XWSSecurityException

resolveIssuedToken

public static void resolveIssuedToken(FilterProcessingContext context,
                                      IssuedTokenKeyBinding itkb)
                               throws XWSSecurityException
Throws:
XWSSecurityException

initInferredIssuedTokenContext

public static void initInferredIssuedTokenContext(FilterProcessingContext wssContext,
                                                  Token str,
                                                  Key returnKey)
                                           throws XWSSecurityException
Throws:
XWSSecurityException

isEncryptedKey

public static boolean isEncryptedKey(SOAPElement elem)

isBinarySecret

public static boolean isBinarySecret(SOAPElement elem)

locateBySCTId

public static SecurityContextTokenImpl locateBySCTId(FilterProcessingContext context,
                                                     String sctId)
                                              throws XWSSecurityException
Throws:
XWSSecurityException

updateSamlVsKeyCache

public static void updateSamlVsKeyCache(SecurityTokenReference str,
                                        FilterProcessingContext ctx,
                                        Key symKey)

updateSamlVsKeyCache

public static void updateSamlVsKeyCache(SecurityTokenReferenceType str,
                                        FilterProcessingContext ctx,
                                        Key symKey)

insertCertificate

public static void insertCertificate(FilterProcessingContext context,
                                     AuthenticationTokenPolicy.X509CertificateBinding certInfo,
                                     String x509id)
                              throws XWSSecurityException
Throws:
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 XWSSecurityException
Throws:
XWSSecurityException

copySubject

public static void copySubject(Subject to,
                               Subject from)

getSubject

public static Subject getSubject(Map context)

getSCT

public static SecurityContextToken getSCT(SecurityContextToken sct,
                                          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 XWSSecurityException
Throws:
XWSSecurityException

getKeyAlgo

public static String getKeyAlgo(String algo)


Copyright © 2005-2015 Oracle Corporation. All Rights Reserved.