Package tigase.form
Class SignatureCalculator
- java.lang.Object
-
- tigase.form.SignatureCalculator
-
public class SignatureCalculator extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringSUPPORTED_TYPE
-
Constructor Summary
Constructors Constructor Description SignatureCalculator()SignatureCalculator(java.lang.String oauthConsumerKey, java.lang.String oauthConsumerSecret)SignatureCalculator(java.lang.String oauthToken, java.lang.String oauthTokenSecret, java.lang.String oauthConsumerKey, java.lang.String oauthConsumerSecret)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddEmptyFields(Form form)java.lang.StringcalculateSignature(JID to, Form form)Calculate signature of given form.protected static java.lang.Stringescape(java.lang.String s)java.lang.StringgetOauthConsumerKey()java.lang.StringgetOauthConsumerSecret()java.lang.StringgetOauthToken()java.lang.StringgetOauthTokenSecret()protected byte[]h(byte[] data)protected static byte[]hmac(javax.crypto.SecretKey key, byte[] data)booleanisMethodSupported(java.lang.String fOauthSignatureMethod)protected javax.crypto.SecretKeykey(byte[] key)protected java.lang.StringrandomString()voidsetOauthConsumerKey(java.lang.String oauthConsumerKey)voidsetOauthConsumerSecret(java.lang.String oauthConsumerSecret)voidsetOauthToken(java.lang.String oauthToken)voidsetOauthTokenSecret(java.lang.String oauthTokenSecret)voidsign(JID to, java.lang.String nonce, long timestamp, Form form)Sign given Form.voidsign(JID to, Form form)Sign given form with current time.
-
-
-
Field Detail
-
SUPPORTED_TYPE
public static final java.lang.String SUPPORTED_TYPE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SignatureCalculator
public SignatureCalculator()
-
SignatureCalculator
public SignatureCalculator(java.lang.String oauthConsumerKey, java.lang.String oauthConsumerSecret)
-
SignatureCalculator
public SignatureCalculator(java.lang.String oauthToken, java.lang.String oauthTokenSecret, java.lang.String oauthConsumerKey, java.lang.String oauthConsumerSecret)
-
-
Method Detail
-
escape
protected static java.lang.String escape(java.lang.String s)
-
hmac
protected static byte[] hmac(javax.crypto.SecretKey key, byte[] data) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException- Throws:
java.security.NoSuchAlgorithmExceptionjava.security.InvalidKeyException
-
addEmptyFields
public void addEmptyFields(Form form)
-
calculateSignature
public java.lang.String calculateSignature(JID to, Form form) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException
Calculate signature of given form. Form will not be changed.- Parameters:
to- the full destination address, including resource, if any.form- form to sign.- Returns:
- Signature of form.
- Throws:
java.security.InvalidKeyExceptionjava.security.NoSuchAlgorithmException
-
getOauthConsumerKey
public java.lang.String getOauthConsumerKey()
- Returns:
- the oauthConsumerKey
-
setOauthConsumerKey
public void setOauthConsumerKey(java.lang.String oauthConsumerKey)
- Parameters:
oauthConsumerKey- the oauthConsumerKey to set
-
getOauthConsumerSecret
public java.lang.String getOauthConsumerSecret()
- Returns:
- the oauthConsumerSecret
-
setOauthConsumerSecret
public void setOauthConsumerSecret(java.lang.String oauthConsumerSecret)
- Parameters:
oauthConsumerSecret- the oauthConsumerSecret to set
-
getOauthToken
public java.lang.String getOauthToken()
- Returns:
- the oauthToken
-
setOauthToken
public void setOauthToken(java.lang.String oauthToken)
- Parameters:
oauthToken- the oauthToken to set
-
getOauthTokenSecret
public java.lang.String getOauthTokenSecret()
- Returns:
- the oauthTokenSecret
-
setOauthTokenSecret
public void setOauthTokenSecret(java.lang.String oauthTokenSecret)
- Parameters:
oauthTokenSecret- the oauthTokenSecret to set
-
isMethodSupported
public boolean isMethodSupported(java.lang.String fOauthSignatureMethod)
-
sign
public void sign(JID to, Form form) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException
Sign given form with current time. Signature will be added to form.- Parameters:
to- the full destination address, including resource, if any.form- form to sign.- Throws:
java.security.InvalidKeyExceptionjava.security.NoSuchAlgorithmException
-
sign
public void sign(JID to, java.lang.String nonce, long timestamp, Form form) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException
Sign given Form. Signature will be added to form.- Parameters:
to- the full destination address, including resource, if any.nonce- A nonce value that the client has to set. Can be a random alphanumerical string.timestamp- Number of seconds since 1st of January 1970, 00:00:00 GMT. The client has to set this at the time of signature.form- form to sign.- Throws:
java.security.InvalidKeyExceptionjava.security.NoSuchAlgorithmException
-
h
protected byte[] h(byte[] data) throws java.security.NoSuchAlgorithmException- Throws:
java.security.NoSuchAlgorithmException
-
key
protected javax.crypto.SecretKey key(byte[] key)
-
randomString
protected java.lang.String randomString()
-
-