Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.
Deprecated
This feature has been removed from the Web standards. Though some browsers may still support it, it is in the process of being dropped. Do not use it in old or new projects. Pages or Web apps using it may break at any time.
Warning: The features mentioned in this article are deleted proprietary Mozilla extensions, and are not supported in any other browser. They won't work in Firefox 34 or later. Use <keygen> or the future Web Crypto API instead.
resultString = crypto.popChallengeResponse("challengeString");
Argument | Description |
---|---|
"challengeString" |
A base-64 encoded CMMF POPODecKeyChallContent message. The current implementation does not conform to that defined in the CMMF draft, and we intend to change this implementation to that defined in the CMC RFC.. See below for the current implementation. |
The resultString
will either be a base-64 encoded POPODecKeyRespContent message, or one of the following error strings:
Error String | Description |
---|---|
"error:invalidParameter:XXX" | The parameter XXX was an invalid value. |
"error:internalError" | The software encountered some internal error, such as out of memory |
Challenge-Response Proof Of Possession
Expected Input:
POPODecKeyChallContent ::= SEQUENCE OF Challenge -- One Challenge per encryption key certification request (in the -- same order as these requests appear in FullCertTemplates). Challenge ::= SEQUENCE { owf AlgorithmIdentifier OPTIONAL, -- MUST be present in the first Challenge; MAY be omitted in any -- subsequent Challenge in POPODecKeyChallContent (if omitted, -- then the owf used in the immediately preceding Challenge is -- to be used). witness OCTET STRING, -- the result of applying the one-way function (owf) to a -- randomly-generated INTEGER, A. [Note that a different -- INTEGER MUST be used for each Challenge.] sender GeneralName, -- the name of the sender. key OCTET STRING, -- the public key used to encrypt the challenge. This will allow -- the client to find the appropriate key to do the decryption. challenge OCTET STRING -- the encryption (under the public key for which the cert. -- request is being made) of Rand, where Rand is specified as -- Rand ::= SEQUENCE { -- int INTEGER, -- - the randomly-generated INTEGER A (above) -- senderHash OCTET STRING -- - the result of applying the one-way function (owf) to -- - the sender's general name -- } -- the size of "int" must be small enough such that "Rand" can be -- contained within a single PKCS #1 encryption block. }