nsspki.h

来自「支持SSL v2/v3, TLS, PKCS #5, PKCS #7, PKCS」· C头文件 代码 · 共 3,162 行 · 第 1/4 页

H
3,162
字号
  NSSCallback *uhh);/* * NSSPrivateKey_FindCertificates * * Note that there may be more than one certificate for this * private key.  { FilterCertificates function to further * reduce the list. } */NSS_EXTERN NSSCertificate **NSSPrivateKey_FindCertificates(  NSSPrivateKey *vk,  NSSCertificate *rvOpt[],  PRUint32 maximumOpt, /* 0 for no max */  NSSArena *arenaOpt);/* * NSSPrivateKey_FindBestCertificate * * The parameters for this function will depend on what the users * need.  This is just a starting point. */NSS_EXTERN NSSCertificate *NSSPrivateKey_FindBestCertificate(  NSSPrivateKey *vk,  NSSTime *timeOpt,  NSSUsage *usageOpt,  NSSPolicies *policiesOpt);/* * NSSPublicKey * * Once you generate, find, or derive one of these, you can use it * to perform (simple) cryptographic operations.  Though there may * be certificates associated with these public keys, they are not * verified. *//* * NSSPublicKey_Destroy * * Free a pointer to a public key object. */NSS_EXTERN PRStatusNSSPublicKey_Destroy(  NSSPublicKey *bk);/* * NSSPublicKey_DeleteStoredObject * * Permanently remove this object, and any related objects (such as the * corresponding private keys and certificates). */NSS_EXTERN PRStatusNSSPublicKey_DeleteStoredObject(  NSSPublicKey *bk,  NSSCallback *uhh);/* * NSSPublicKey_Encode * */NSS_EXTERN NSSItem *NSSPublicKey_Encode(  NSSPublicKey *bk,  NSSAlgorithmAndParameters *ap,  NSSCallback *uhhOpt,  NSSItem *rvOpt,  NSSArena *arenaOpt);/* * NSSPublicKey_GetTrustDomain * * There doesn't have to be one. */NSS_EXTERN NSSTrustDomain *NSSPublicKey_GetTrustDomain(  NSSPublicKey *bk,  PRStatus *statusOpt);/* * NSSPublicKey_GetToken * * There doesn't have to be one. */NSS_EXTERN NSSToken *NSSPublicKey_GetToken(  NSSPublicKey *bk,  PRStatus *statusOpt);/* * NSSPublicKey_GetSlot * * There doesn't have to be one. */NSS_EXTERN NSSSlot *NSSPublicKey_GetSlot(  NSSPublicKey *bk,  PRStatus *statusOpt);/* * NSSPublicKey_GetModule * * There doesn't have to be one. */NSS_EXTERN NSSModule *NSSPublicKey_GetModule(  NSSPublicKey *bk,  PRStatus *statusOpt);/* * NSSPublicKey_Encrypt * * Encrypt a single chunk of data with the public key corresponding to * this certificate. */NSS_EXTERN NSSItem *NSSPublicKey_Encrypt(  NSSPublicKey *bk,  NSSAlgorithmAndParameters *apOpt,  NSSItem *data,  NSSCallback *uhh,  NSSItem *rvOpt,  NSSArena *arenaOpt);/* * NSSPublicKey_Verify * */NSS_EXTERN PRStatusNSSPublicKey_Verify(  NSSPublicKey *bk,  NSSAlgorithmAndParameters *apOpt,  NSSItem *data,  NSSItem *signature,  NSSCallback *uhh);/* * NSSPublicKey_VerifyRecover * */NSS_EXTERN NSSItem *NSSPublicKey_VerifyRecover(  NSSPublicKey *bk,  NSSAlgorithmAndParameters *apOpt,  NSSItem *signature,  NSSCallback *uhh,  NSSItem *rvOpt,  NSSArena *arenaOpt);/* * NSSPublicKey_WrapSymmetricKey * */NSS_EXTERN NSSItem *NSSPublicKey_WrapSymmetricKey(  NSSPublicKey *bk,  NSSAlgorithmAndParameters *apOpt,  NSSSymmetricKey *keyToWrap,  NSSCallback *uhh,  NSSItem *rvOpt,  NSSArena *arenaOpt);/* * NSSPublicKey_CreateCryptoContext * * Create a crypto context, in this key's trust domain, with this * as the distinguished public key. */NSS_EXTERN NSSCryptoContext *NSSPublicKey_CreateCryptoContext(  NSSPublicKey *bk  NSSAlgorithmAndParameters *apOpt,  NSSCallback *uhh);/* * NSSPublicKey_FindCertificates * * Note that there may be more than one certificate for this * public key.  The current implementation may not find every * last certificate available for this public key: that would * involve trolling e.g. huge ldap databases, which will be * grossly inefficient and not generally useful. * { FilterCertificates function to further reduce the list } */NSS_EXTERN NSSCertificate **NSSPublicKey_FindCertificates(  NSSPublicKey *bk,  NSSCertificate *rvOpt[],  PRUint32 maximumOpt, /* 0 for no max */  NSSArena *arenaOpt);/* * NSSPrivateKey_FindBestCertificate * * The parameters for this function will depend on what the users * need.  This is just a starting point. */NSS_EXTERN NSSCertificate *NSSPublicKey_FindBestCertificate(  NSSPublicKey *bk,  NSSTime *timeOpt,  NSSUsage *usageOpt,  NSSPolicies *policiesOpt);/* * NSSPublicKey_FindPrivateKey * */NSS_EXTERN NSSPrivateKey *NSSPublicKey_FindPrivateKey(  NSSPublicKey *bk,  NSSCallback *uhh);/* * NSSSymmetricKey * *//* * NSSSymmetricKey_Destroy * * Free a pointer to a symmetric key object. */NSS_EXTERN PRStatusNSSSymmetricKey_Destroy(  NSSSymmetricKey *mk);/* * NSSSymmetricKey_DeleteStoredObject * * Permanently remove this object. */NSS_EXTERN PRStatusNSSSymmetricKey_DeleteStoredObject(  NSSSymmetricKey *mk,  NSSCallback *uhh);/* * NSSSymmetricKey_GetKeyLength * */NSS_EXTERN PRUint32NSSSymmetricKey_GetKeyLength(  NSSSymmetricKey *mk);/* * NSSSymmetricKey_GetKeyStrength * */NSS_EXTERN PRUint32NSSSymmetricKey_GetKeyStrength(  NSSSymmetricKey *mk);/* * NSSSymmetricKey_IsStillPresent * */NSS_EXTERN PRStatusNSSSymmetricKey_IsStillPresent(  NSSSymmetricKey *mk);/* * NSSSymmetricKey_GetTrustDomain * * There doesn't have to be one. */NSS_EXTERN NSSTrustDomain *NSSSymmetricKey_GetTrustDomain(  NSSSymmetricKey *mk,  PRStatus *statusOpt);/* * NSSSymmetricKey_GetToken * * There doesn't have to be one. */NSS_EXTERN NSSToken *NSSSymmetricKey_GetToken(  NSSSymmetricKey *mk,  PRStatus *statusOpt);/* * NSSSymmetricKey_GetSlot * * There doesn't have to be one. */NSS_EXTERN NSSSlot *NSSSymmetricKey_GetSlot(  NSSSymmetricKey *mk,  PRStatus *statusOpt);/* * NSSSymmetricKey_GetModule * * There doesn't have to be one. */NSS_EXTERN NSSModule *NSSSymmetricKey_GetModule(  NSSSymmetricKey *mk,  PRStatus *statusOpt);/* * NSSSymmetricKey_Encrypt * */NSS_EXTERN NSSItem *NSSSymmetricKey_Encrypt(  NSSSymmetricKey *mk,  NSSAlgorithmAndParameters *apOpt,  NSSItem *data,  NSSCallback *uhh,  NSSItem *rvOpt,  NSSArena *arenaOpt);/* * NSSSymmetricKey_Decrypt * */NSS_EXTERN NSSItem *NSSSymmetricKey_Decrypt(  NSSSymmetricKey *mk,  NSSAlgorithmAndParameters *apOpt,  NSSItem *encryptedData,  NSSCallback *uhh,  NSSItem *rvOpt,  NSSArena *arenaOpt);/* * NSSSymmetricKey_Sign * */NSS_EXTERN NSSItem *NSSSymmetricKey_Sign(  NSSSymmetricKey *mk,  NSSAlgorithmAndParameters *apOpt,  NSSItem *data,  NSSCallback *uhh,  NSSItem *rvOpt,  NSSArena *arenaOpt);/* * NSSSymmetricKey_SignRecover * */NSS_EXTERN NSSItem *NSSSymmetricKey_SignRecover(  NSSSymmetricKey *mk,  NSSAlgorithmAndParameters *apOpt,  NSSItem *data,  NSSCallback *uhh,  NSSItem *rvOpt,  NSSArena *arenaOpt);/* * NSSSymmetricKey_Verify * */NSS_EXTERN PRStatusNSSSymmetricKey_Verify(  NSSSymmetricKey *mk,  NSSAlgorithmAndParameters *apOpt,  NSSItem *data,  NSSItem *signature,  NSSCallback *uhh);/* * NSSSymmetricKey_VerifyRecover * */NSS_EXTERN NSSItem *NSSSymmetricKey_VerifyRecover(  NSSSymmetricKey *mk,  NSSAlgorithmAndParameters *apOpt,  NSSItem *signature,  NSSCallback *uhh,  NSSItem *rvOpt,  NSSArena *arenaOpt);/* * NSSSymmetricKey_WrapSymmetricKey * */NSS_EXTERN NSSItem *NSSSymmetricKey_WrapSymmetricKey(  NSSSymmetricKey *wrappingKey,  NSSAlgorithmAndParameters *apOpt,  NSSSymmetricKey *keyToWrap,  NSSCallback *uhh,  NSSItem *rvOpt,  NSSArena *arenaOpt);/* * NSSSymmetricKey_WrapPrivateKey * */NSS_EXTERN NSSItem *NSSSymmetricKey_WrapPrivateKey(  NSSSymmetricKey *wrappingKey,  NSSAlgorithmAndParameters *apOpt,  NSSPrivateKey *keyToWrap,  NSSCallback *uhh,  NSSItem *rvOpt,  NSSArena *arenaOpt);/* * NSSSymmetricKey_UnwrapSymmetricKey * */NSS_EXTERN NSSSymmetricKey *NSSSymmetricKey_UnwrapSymmetricKey(  NSSSymmetricKey *wrappingKey,  NSSAlgorithmAndParameters *apOpt,  NSSItem *wrappedKey,  NSSOID *target,  PRUint32 keySizeOpt,  NSSOperations operations,  NSSCallback *uhh);/* * NSSSymmetricKey_UnwrapPrivateKey * */NSS_EXTERN NSSPrivateKey *NSSSymmetricKey_UnwrapPrivateKey(  NSSSymmetricKey *wrappingKey,  NSSAlgorithmAndParameters *apOpt,  NSSItem *wrappedKey,  NSSUTF8 *labelOpt,  NSSItem *keyIDOpt,  PRBool persistant,  PRBool sensitive,  NSSToken *destinationOpt,  NSSCallback *uhh);/* * NSSSymmetricKey_DeriveSymmetricKey * */NSS_EXTERN NSSSymmetricKey *NSSSymmetricKey_DeriveSymmetricKey(  NSSSymmetricKey *originalKey,  NSSAlgorithmAndParameters *apOpt,  NSSOID *target,  PRUint32 keySizeOpt,  NSSOperations operations,  NSSCallback *uhh);/* * NSSSymmetricKey_CreateCryptoContext * * Create a crypto context, in this key's trust domain, * with this as the distinguished symmetric key. */NSS_EXTERN NSSCryptoContext *NSSSymmetricKey_CreateCryptoContext(  NSSSymmetricKey *mk,  NSSAlgorithmAndParameters *apOpt,  NSSCallback *uhh);/* * NSSTrustDomain * *//* * NSSTrustDomain_Create * * This creates a trust domain, optionally with an initial cryptoki * module.  If the module name is not null, the module is loaded if * needed (using the uriOpt argument), and initialized with the * opaqueOpt argument.  If mumble mumble priority settings, then * module-specification objects in the module can cause the loading * and initialization of further modules. * * The uriOpt is defined to take a URI.  At present, we only * support file: URLs pointing to platform-native shared libraries. * However, by specifying this as a URI, this keeps open the  * possibility of supporting other, possibly remote, resources. * * The "reserved" arguments is held for when we figure out the * module priority stuff. */NSS_EXTERN NSSTrustDomain *NSSTrustDomain_Create(  NSSUTF8 *moduleOpt,  NSSUTF8 *uriOpt,  NSSUTF8 *opaqueOpt,  void *reserved);/* * NSSTrustDomain_Destroy * */NSS_EXTERN PRStatusNSSTrustDomain_Destroy(  NSSTrustDomain *td);/* * NSSTrustDomain_SetDefaultCallback * */NSS_EXTERN PRStatusNSSTrustDomain_SetDefaultCallback(  NSSTrustDomain *td,  NSSCallback *newCallback,  NSSCallback **oldCallbackOpt);/* * NSSTrustDomain_GetDefaultCallback * */NSS_EXTERN NSSCallback *NSSTrustDomain_GetDefaultCallback(  NSSTrustDomain *td,  PRStatus *statusOpt);/* * Default policies? * Default usage? * Default time, for completeness? *//* * NSSTrustDomain_LoadModule * */NSS_EXTERN PRStatusNSSTrustDomain_LoadModule(  NSSUTF8 *moduleOpt,  NSSUTF8 *uriOpt,  NSSUTF8 *opaqueOpt,  void *reserved);/* * NSSTrustDomain_AddModule * NSSTrustDomain_AddSlot * NSSTrustDomain_UnloadModule * Managing modules, slots, tokens; priorities; * Traversing all of the above * this needs more work *//* * NSSTrustDomain_DisableToken * */NSS_EXTERN PRStatusNSSTrustDomain_DisableToken(  NSSTrustDomain *td,  NSSToken *token,  NSSError why);/* * NSSTrustDomain_EnableToken * */NSS_EXTERN PRStatusNSSTrustDomain_EnableToken(  NSSTrustDomain *td,  NSSToken *token);/* * NSSTrustDomain_IsTokenEnabled * * If disabled, "why" is always on the error stack. * The optional argument is just for convenience. */NSS_EXTERN PRStatusNSSTrustDomain_IsTokenEnabled(  NSSTrustDomain *td,  NSSToken *token,  NSSError *whyOpt);/* * NSSTrustDomain_FindSlotByName * */NSS_EXTERN NSSSlot *NSSTrustDomain_FindSlotByName(  NSSTrustDomain *td,  NSSUTF8 *slotName);/* * NSSTrustDomain_FindTokenByName * */NSS_EXTERN NSSToken *NSSTrustDomain_FindTokenByName(  NSSTrustDomain *td,  NSSUTF8 *tokenName);/* * NSSTrustDomain_FindTokenBySlotName * */NSS_EXTERN NSSToken *NSSTrustDomain_FindTokenBySlotName(  NSSTrustDomain *td,  NSSUTF8 *slotName);/* * NSSTrustDomain_FindBestTokenForAlgorithm * */NSS_EXTERN NSSToken *NSSTrustDomain_FindTokenForAlgorithm(  NSSTrustDomain *td,  NSSOID *algorithm);/* * NSSTrustDomain_FindBestTokenForAlgorithms * */NSS_EXTERN NSSToken *NSSTrustDomain_FindBestTokenForAlgorithms(  NSSTrustDomain *td,  NSSOID *algorithms[], /* may be null-terminated */  PRUint32 nAlgorithmsOpt /* limits the array if nonzero */);/* * NSSTrustDomain_Login * */NSS_EXTERN PRStatusNSSTrustDomain_Login(  NSSTrustDomain *td,  NSSCallback *uhhOpt);/* * NSSTrustDomain_Logout * */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?