Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
  * Conditions Of Use
  *
  * This software was developed by employees of the National Institute of
  * Standards and Technology (NIST), an agency of the Federal Government,
  * and others.
  * Pursuant to title 15 Untied States Code Section 105, works of NIST
  * employees are not subject to copyright protection in the United States
  * and are considered to be in the public domain.  As a result, a formal
 * license is not needed to use the software.
 *
 * This software is provided by NIST as a service and is expressly
 * provided "AS IS."  NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
 * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
 * AND DATA ACCURACY.  NIST does not warrant or make any representations
 * regarding the use of the software or the results thereof, including but
 * not limited to the correctness, accuracy, reliability or usefulness of
 * the software.
 *
 * Permission to use this software is contingent upon your acceptance
 * of the terms of this agreement
 *
 * .
 *
 */

PRODUCT OF PT INOVACAO - EST DEPARTMENT and Telecommunications Institute (Aveiro, Portugal) * /
 
 
 package gov.nist.javax.sip.header.ims;
 
 
 
 
"Security Mechanism Agreemet for SIP Sessions" - sec-agree: RFC 3329 + 3GPP TS33.203 (Annex H).

Headers: Security-Server + Security-Client + Security-Verify

Author(s):
Miguel Freitas (IT) PT-Inovacao
 
 
 
 public abstract class SecurityAgree
     extends ParametersHeader
 {
     //TODO serialVersionUID
     //private static final long serialVersionUID = -6671234553927258745L;
 
     //public static final String EALG = ParameterNamesIms.EALG;
     // ...
 
    
Security Mechanism value
 
     private String secMechanism;


    
Constructor

Parameters:
name - name of the Security Agree header to create
 
     public SecurityAgree(String name)
     {
         super(name);
     }

    
Default constructor
 
     public SecurityAgree()
     {
         super();
     }
 
 
     public void setParameter(String nameString valuethrows ParseException
     {
         if (value == null)
             throw new NullPointerException("null value");
 
         NameValue nv = super..getNameValue(name.toLowerCase());
         if (nv == null)
         {
             nv = new NameValue(namevalue);
            // quoted values
            if (name.equalsIgnoreCase(.))
            {
                nv.setQuotedValue();
                if (value.startsWith(.))
                    throw new ParseException(value
                            + " : Unexpected DOUBLE_QUOTE", 0);
            }
            super.setParameter(nv);
        }
        else
        {
            nv.setValueAsObject(value);
        }
    }
    public String encodeBody()
    {
        return this. +  +  + .encode();
    }



    
Set security mechanism.

eg: Security-Client: ipsec-3gpp

Parameters:
secMech - security mechanism name
    public void setSecurityMechanism(String secMechthrows ParseException {
        if (secMech == null)
            throw new NullPointerException(
                "JAIN-SIP "
                    + "Exception, SecurityAgree, setSecurityMechanism(), the sec-mechanism parameter is null");
        this. = secMech;
    }

    
Set Encryption Algorithm (ealg parameter)

Parameters:
ealg - encryption algorithm value
Throws:
java.text.ParseException
    public void setEncryptionAlgorithm(String ealgthrows ParseException {
        if (ealg == null)
            throw new NullPointerException(
                "JAIN-SIP "
                    + "Exception, SecurityClient, setEncryptionAlgorithm(), the encryption-algorithm parameter is null");
        setParameter(.ealg);
    }

    
Set Algorithm (alg parameter)

Parameters:
alg - algorithm value
Throws:
java.text.ParseException
    public void setAlgorithm(String algthrows ParseException {
        if (alg == null)
            throw new NullPointerException(
                "JAIN-SIP "
                    + "Exception, SecurityClient, setAlgorithm(), the algorithm parameter is null");
        setParameter(.alg);
    }

    
Set Protocol (prot paramater)

Parameters:
prot - protocol value
Throws:
java.text.ParseException
    public void setProtocol(String protthrows ParseException {
        if (prot == null)
            throw new NullPointerException(
                "JAIN-SIP "
                    + "Exception, SecurityClient, setProtocol(), the protocol parameter is null");
        setParameter(.prot);
    }

    
Set Mode (mod parameter)

Parameters:
mod - mode value
Throws:
java.text.ParseException
    public void setMode(String modthrows ParseException {
        if (mod == null)
            throw new NullPointerException(
                "JAIN-SIP "
                    + "Exception, SecurityClient, setMode(), the mode parameter is null");
        setParameter(.mod);
    }

    
Set Client SPI (spi-c parameter)

Parameters:
spic - spi-c value
Throws:
javax.sip.InvalidArgumentException
    public void setSPIClient(int spicthrows InvalidArgumentException {
        if (spic < 0)
            throw new InvalidArgumentException(
                "JAIN-SIP "
                    + "Exception, SecurityClient, setSPIClient(), the spi-c parameter is <0");
        setParameter(.spic);
    }

    
Set Server SPI (spi-s parameter)

Parameters:
spis - spi-s value
Throws:
javax.sip.InvalidArgumentException - when value is not valid
    public void setSPIServer(int spisthrows InvalidArgumentException {
        if (spis < 0)
            throw new InvalidArgumentException(
                "JAIN-SIP "
                    + "Exception, SecurityClient, setSPIServer(), the spi-s parameter is <0");
        setParameter(.spis);
    }

    
Set Client Port (port-c parameter)

Parameters:
portC - port-c value
Throws:
javax.sip.InvalidArgumentException - when value is not valid
    public void setPortClient(int portCthrows InvalidArgumentException {
        if (portC < 0)
            throw new InvalidArgumentException(
                "JAIN-SIP "
                    + "Exception, SecurityClient, setPortClient(), the port-c parameter is <0");
        setParameter(.portC);
    }

    
Set Server Port (port-s parameter)

Parameters:
portS - port-s value
Throws:
javax.sip.InvalidArgumentException - when value is not valid
    public void setPortServer(int portSthrows InvalidArgumentException {
        if (portS < 0)
            throw new InvalidArgumentException(
                "JAIN-SIP "
                    + "Exception, SecurityClient, setPortServer(), the port-s parameter is <0");
        setParameter(.portS);
    }

    

Set Preference. The "q" parameter indicates a relative preference for the particular mechanism. The higher the value the more preferred the mechanism is. Range from 0.001 to 0.999.

Parameters:
q - q parameter value
Throws:
javax.sip.InvalidArgumentException - when value is not valid
    public void setPreference(float qthrows InvalidArgumentException {
        if (q < 0.0f)
            throw new InvalidArgumentException(
                "JAIN-SIP "
                    + "Exception, SecurityClient, setPreference(), the preference (q) parameter is <0");
        setParameter(.q);
    }
    // get param

    
Get Security Mechanism

Returns:
security mechanims value
    public String getSecurityMechanism() {
        return this.;
    }
    
Get Encryption Algorithm

Returns:
ealg parameter value
    public String getEncryptionAlgorithm() {
        return getParameter(.);
    }

    
Get Algorithm

Returns:
alg parameter value
    public String getAlgorithm() {
        return getParameter(.);
    }

    
Get Protocol

Returns:
prot parameter value
    public String getProtocol() {
        return getParameter(.);
    }

    
Get Mode

Returns:
mod parameter value
    public String getMode() {
        return getParameter(.);
    }
    
Get Client SPI

Returns:
spi-c parameter value
    public int getSPIClient() {
        return (Integer.parseInt(getParameter(.)));
    }

    
Get Server SPI

Returns:
spi-s parameter value
    public int getSPIServer() {
        return (Integer.parseInt(getParameter(.)));
    }

    
Get Client Port

Returns:
port-c parameter value
    public int getPortClient() {
        return (Integer.parseInt(getParameter(.)));
    }

    
Get Server Port

Returns:
port-s parameter value
    public int getPortServer() {
        return (Integer.parseInt(getParameter(.)));
    }

    
Get Preference

Returns:
q parameter value
    public float getPreference() {
        return (Float.parseFloat(getParameter(.)));
    }
    public boolean equals(Object other)
    {
        if(other instanceof SecurityAgreeHeader)
        {
            SecurityAgreeHeader o = (SecurityAgreeHeaderother;
            return (this.getSecurityMechanism().equalso.getSecurityMechanism() )
                && this.equalParameters( (Parameterso ));
        }
        return false;
    }
    public Object clone() {
        SecurityAgree retval = (SecurityAgreesuper.clone();
        if (this. != null)
            retval.secMechanism = this.;
        return retval;
    }
New to GrepCode? Check out our FAQ X