Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/security/nss/lib/util/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 2 kB image not shown  

Quelle  pkcs11uri.h   Sprache: 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 _PKCS11URI_H_
#define _PKCS11URI_H_ 1

#include "seccomon.h"

/* Path attributes defined in RFC7512. */
#define PK11URI_PATTR_TOKEN "token"
#define PK11URI_PATTR_MANUFACTURER "manufacturer"
#define PK11URI_PATTR_SERIAL "serial"
#define PK11URI_PATTR_MODEL "model"
#define PK11URI_PATTR_LIBRARY_MANUFACTURER "library-manufacturer"
#define PK11URI_PATTR_LIBRARY_DESCRIPTION "library-description"
#define PK11URI_PATTR_LIBRARY_VERSION "library-version"
#define PK11URI_PATTR_OBJECT "object"
#define PK11URI_PATTR_TYPE "type"
#define PK11URI_PATTR_ID "id"
#define PK11URI_PATTR_SLOT_MANUFACTURER "slot-manufacturer"
#define PK11URI_PATTR_SLOT_DESCRIPTION "slot-description"
#define PK11URI_PATTR_SLOT_ID "slot-id"

/* Query attributes defined in RFC7512. */
#define PK11URI_QATTR_PIN_SOURCE "pin-source"
#define PK11URI_QATTR_PIN_VALUE "pin-value"
#define PK11URI_QATTR_MODULE_NAME "module-name"
#define PK11URI_QATTR_MODULE_PATH "module-path"

SEC_BEGIN_PROTOS

/* A PK11URI object is an immutable structure that holds path and
 * query attributes of a PKCS#11 URI. */

struct PK11URIStr;
typedef struct PK11URIStr PK11URI;

struct PK11URIAttributeStr {
    const char *name;
    const char *value;
};
typedef struct PK11URIAttributeStr PK11URIAttribute;

/* Create a new PK11URI object from a set of attributes. */
extern PK11URI *PK11URI_CreateURI(const PK11URIAttribute *pattrs,
                                  size_t num_pattrs,
                                  const PK11URIAttribute *qattrs,
                                  size_t num_qattrs);

/* Parse PKCS#11 URI and return a new PK11URI object. */
extern PK11URI *PK11URI_ParseURI(const char *string);

/* Format a PK11URI object to a string. */
extern char *PK11URI_FormatURI(PLArenaPool *arena, PK11URI *uri);

/* Destroy a PK11URI object. */
extern void PK11URI_DestroyURI(PK11URI *uri);

/* Retrieve a path attribute with the given name. This function can be used only
 * when we can assume that the attribute value is a string (such as "label" or
 * "type"). If it can be a binary blob (such as "id"), use
 * PK11URI_GetPathAttributeItem.
 */

extern const char *PK11URI_GetPathAttribute(PK11URI *uri, const char *name);

/* Retrieve a query attribute with the given name. This function can be used
 * only when we can assume that the attribute value is a string (such as
 * "module-name").  If it can be a binary blob, use
 * PK11URI_GetQueryAttributeItem.*/

extern const char *PK11URI_GetQueryAttribute(PK11URI *uri, const char *name);

/* Retrieve a path attribute with the given name as a SECItem. */
extern const SECItem *PK11URI_GetPathAttributeItem(PK11URI *uri, const char *name);

/* Retrieve a query attribute with the given name as a SECItem. */
extern const SECItem *PK11URI_GetQueryAttributeItem(PK11URI *uri, const char *name);

SEC_END_PROTOS

#endif /* _PKCS11URI_H_ */

Messung V0.5
C=85 H=100 G=92

¤ Dauer der Verarbeitung: 0.23 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.