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 + -
显示快捷键?