Defines routines to decode signatures produced by the SignatureSigner classes.
The details of creating and using the appropriate encoding algorithm are left to SignatureDecoder and are
completely transparent to the developer.

Encoding Signatures

Encoding a signature involves calling the public static encode() method with a
SignatureSigner object and a string that contains the requested encoding algorithm.
For example, to encode an ECDSASignatureSigner using X509 encoding, code similar to the following would be used:

where signer is a valid ECDSASignatureSigner object that has been created with the appropriate
parameters.

Decoding Signatures

Decoding a signature simply involves calling the public static decode() method in this class with an
EncodedSignature object and the public key to use for verification. Decoding an ECDSA signature using the
X509 encoding algorithm can be accomplished by using code similar to the following:

Only the encoded signature and encoding algorithm into decode. The user gets back
a SignatureDecoder which they can then pass a public key into to create a signature verifier. The user
can also call the initialize function of the decoder in order to change the digest used by the signature
verifier.

Supported Encoding Algorithms

Please see here for a list of the RIM supplied encoding algorithms.
Currently, RIM provides the following signature encoding algorithms, which can be accessed with the specifed string:

X509 encoding

use the encoding string "X509"

WTLS encoding

use the encoding string "WTLS"

CMS encoding

use the encoding string "CMS"

The X509 encoding is defined in RFC 2459. The WTLS encoding is found in WAP-199-WTLS from Feb 2000. Finally,
the CMS encoding is defined in RFC 2630.

For algorithms not found in this list, a developer can implement additional signature encoding algorithms that can be
integrated into the Crypto API. Please see the tutorial on Adding Encoders.

Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

SignatureDecoder

protected SignatureDecoder()

Creates a new SignatureDecoder object.

This is the default constructor.

Category:

Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

baseDecoder - The encoding algorithm wrapper, such as X509_SignatureDecoder.

Returns:

Returns true if we added the class, false if it was already in the hash table.

Category:

Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

Since:

BlackBerry API 3.6.0

getEncodingAlgorithm

Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

getSignatureAlgorithms

Returns the signature algorithm used, such as ("DSA", "RSA_PKCS1_SHA1").

Returns:

An array of Strings representing the names of all signature algorithms.

Category:

Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

Copyright 1999-2011 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.Java is a trademark of Oracle America Inc. in the US and other countries.Legal