mirror of
https://github.com/rn10950/RetroZilla.git
synced 2024-11-16 04:20:32 +01:00
30d33aa8e8
9934c8faef29, 3c3b381c4865, 5a67f6beee9a, 1b1eb6d77728, a8b668fd72f7, bug962760, bug743700, bug857304, bug972653, bug972450, bug971358, bug903885, bug977073, bug976111, bug949939, bug947653, bug947572, bug903885, bug979106, bug966596, bug979004, bug979752, bug980848, bug938369, bug981170, bug668130, bug974693, bug975056, bug979132, bug370717, bug979070, bug985070, bug900067, bug977673, bug519255, bug989558, bug557299, bug987263, bug369802, a751a5146718, bug992343, bug952572, bug979703, bug994883, bug994869, bug993489, bug984608, bug977869, bug667371, bug672828, bug793347, bug977869
75 lines
2.2 KiB
C
75 lines
2.2 KiB
C
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef _LOWKEYI_H_
|
|
#define _LOWKEYI_H_
|
|
|
|
#include "prtypes.h"
|
|
#include "seccomon.h"
|
|
#include "secoidt.h"
|
|
#include "lowkeyti.h"
|
|
|
|
SEC_BEGIN_PROTOS
|
|
|
|
/*
|
|
* See bugzilla bug 125359
|
|
* Since NSS (via PKCS#11) wants to handle big integers as unsigned ints,
|
|
* all of the templates above that en/decode into integers must be converted
|
|
* from ASN.1's signed integer type. This is done by marking either the
|
|
* source or destination (encoding or decoding, respectively) type as
|
|
* siUnsignedInteger.
|
|
*/
|
|
extern void prepare_low_rsa_priv_key_for_asn1(NSSLOWKEYPrivateKey *key);
|
|
extern void prepare_low_pqg_params_for_asn1(PQGParams *params);
|
|
extern void prepare_low_dsa_priv_key_for_asn1(NSSLOWKEYPrivateKey *key);
|
|
extern void prepare_low_dsa_priv_key_export_for_asn1(NSSLOWKEYPrivateKey *key);
|
|
extern void prepare_low_dh_priv_key_for_asn1(NSSLOWKEYPrivateKey *key);
|
|
#ifndef NSS_DISABLE_ECC
|
|
extern void prepare_low_ec_priv_key_for_asn1(NSSLOWKEYPrivateKey *key);
|
|
extern void prepare_low_ecparams_for_asn1(ECParams *params);
|
|
#endif /* NSS_DISABLE_ECC */
|
|
|
|
/*
|
|
** Destroy a private key object.
|
|
** "key" the object
|
|
** "freeit" if PR_TRUE then free the object as well as its sub-objects
|
|
*/
|
|
extern void nsslowkey_DestroyPrivateKey(NSSLOWKEYPrivateKey *key);
|
|
|
|
/*
|
|
** Destroy a public key object.
|
|
** "key" the object
|
|
** "freeit" if PR_TRUE then free the object as well as its sub-objects
|
|
*/
|
|
extern void nsslowkey_DestroyPublicKey(NSSLOWKEYPublicKey *key);
|
|
|
|
/*
|
|
** Return the modulus length of "pubKey".
|
|
*/
|
|
extern unsigned int nsslowkey_PublicModulusLen(NSSLOWKEYPublicKey *pubKey);
|
|
|
|
|
|
/*
|
|
** Return the modulus length of "privKey".
|
|
*/
|
|
extern unsigned int nsslowkey_PrivateModulusLen(NSSLOWKEYPrivateKey *privKey);
|
|
|
|
|
|
/*
|
|
** Convert a low private key "privateKey" into a public low key
|
|
*/
|
|
extern NSSLOWKEYPublicKey
|
|
*nsslowkey_ConvertToPublicKey(NSSLOWKEYPrivateKey *privateKey);
|
|
|
|
/* Make a copy of a low private key in it's own arena.
|
|
* a return of NULL indicates an error.
|
|
*/
|
|
extern NSSLOWKEYPrivateKey *
|
|
nsslowkey_CopyPrivateKey(NSSLOWKEYPrivateKey *privKey);
|
|
|
|
|
|
SEC_END_PROTOS
|
|
|
|
#endif /* _LOWKEYI_H_ */
|