org.mozilla.jss.pkix.crmf

Class ProofOfPossession

Implemented Interfaces:
ASN1Value

public class ProofOfPossession
extends java.lang.Object
implements ASN1Value

CRMF ProofOfPossession:
 ProofOfPossession ::= CHOICE {
      raVerified          [0] NULL,
      signature           [1] POPOSigningKey,
      keyEncipherment     [2] POPOPrivKey,
      keyAgreement        [3] POPOPrivKey }
 

Nested Class Summary

static class
ProofOfPossession.Template
A Template for decoding a ProofOfPossession.
static class
ProofOfPossession.Type
The type of ProofOfPossesion.

Field Summary

static ProofOfPossession.Type
KEY_AGREEMENT
static ProofOfPossession.Type
KEY_ENCIPHERMENT
static ProofOfPossession.Type
RA_VERIFIED
static ProofOfPossession.Type
SIGNATURE

Method Summary

static ProofOfPossession
createKeyAgreement(POPOPrivKey keyAgreement)
Creates a new ProofOfPossesion with the given keyAgreement field.
static ProofOfPossession
createKeyEncipherment(POPOPrivKey keyEncipherment)
Creates a new ProofOfPossesion with the given keyEncipherment field.
static ProofOfPossession
createRaVerified()
Creates a new ProofOfPossesion with an raVerified field.
static ProofOfPossession
createSignature(POPOSigningKey signature)
Creates a new ProofOfPossesion with the given signature field.
void
encode(OutputStream ostream)
Write this value's DER encoding to an output stream using its own base tag.
void
encode(Tag implicitTag, OutputStream ostream)
Write this value's DER encoding to an output stream using an implicit tag.
POPOPrivKey
getKeyAgreement()
If type == KEY_AGREEMENT, returns the keyAgreement field.
POPOPrivKey
getKeyEncipherment()
If type == KEY_ENCIPHERMENT, returns the keyEncipherment field.
POPOSigningKey
getSignature()
If type == SIGNATURE, returns the signature field.
Tag
getTag()
Returns the base tag for this type, not counting any tags that may be imposed on it by its context.
ProofOfPossession.Type
getType()
Returns the type of ProofOfPossesion:
  • RA_VERIFIED
  • SIGNATURE
  • KEY_ENCIPHERMENT
  • KEY_AGREEMENT

Field Details

KEY_AGREEMENT

public static ProofOfPossession.Type KEY_AGREEMENT

KEY_ENCIPHERMENT

public static ProofOfPossession.Type KEY_ENCIPHERMENT

RA_VERIFIED

public static ProofOfPossession.Type RA_VERIFIED

SIGNATURE

public static ProofOfPossession.Type SIGNATURE

Method Details

createKeyAgreement

public static ProofOfPossession createKeyAgreement(POPOPrivKey keyAgreement)
Creates a new ProofOfPossesion with the given keyAgreement field.

createKeyEncipherment

public static ProofOfPossession createKeyEncipherment(POPOPrivKey keyEncipherment)
Creates a new ProofOfPossesion with the given keyEncipherment field.

createRaVerified

public static ProofOfPossession createRaVerified()
Creates a new ProofOfPossesion with an raVerified field.

createSignature

public static ProofOfPossession createSignature(POPOSigningKey signature)
Creates a new ProofOfPossesion with the given signature field.

encode

public void encode(OutputStream ostream)
            throws IOException
Write this value's DER encoding to an output stream using its own base tag.
Specified by:
encode in interface ASN1Value

encode

public void encode(Tag implicitTag,
                   OutputStream ostream)
            throws IOException
Write this value's DER encoding to an output stream using an implicit tag.
Specified by:
encode in interface ASN1Value

getKeyAgreement

public POPOPrivKey getKeyAgreement()
If type == KEY_AGREEMENT, returns the keyAgreement field. Otherwise, returns null.

getKeyEncipherment

public POPOPrivKey getKeyEncipherment()
If type == KEY_ENCIPHERMENT, returns the keyEncipherment field. Otherwise, returns null.

getSignature

public POPOSigningKey getSignature()
If type == SIGNATURE, returns the signature field. Otherwise, returns null.

getTag

public Tag getTag()
Returns the base tag for this type, not counting any tags that may be imposed on it by its context.
Specified by:
getTag in interface ASN1Value

getType

public ProofOfPossession.Type getType()
Returns the type of ProofOfPossesion:
  • RA_VERIFIED
  • SIGNATURE
  • KEY_ENCIPHERMENT
  • KEY_AGREEMENT