windows-nt/Source/XPSP1/NT/ds/security/csps/cryptoflex/slbcsp/pkcs11attr.h
2020-09-26 16:20:57 +08:00

98 lines
2.8 KiB
C++

// Pkcs11Attr.h -- PKCS #11 Attributes class header for
// interoperability with Netscape and Entrust using the SLB PKCS#11
// package.
// (c) Copyright Schlumberger Technology Corp., unpublished work, created
// 1999. This computer program includes Confidential, Proprietary
// Information and is a Trade Secret of Schlumberger Technology Corp. All
// use, disclosure, and/or reproduction is prohibited unless authorized
// in writing. All Rights Reserved.
// The Pkcs11Attributes class defines the base default values the CSP
// must set for the PKCS #11 attributes to emmulate enrollment (key
// and certificate generation) by Netscape or Entrust using Cryptoki
// (PKCS#11). The default values are based on heuristics in
// evaluating the operation of Netscape and Entrust with what the
// Schlumberger PKCS #11 package expects in this environment.
#if !defined(SLBCSP_PKCS11ATTR_H)
#define SLBCSP_PKCS11ATTR_H
#include <string>
#include <pkiX509Cert.h>
#include "Blob.h"
#include "AuxContext.h"
class Pkcs11Attributes
{
public:
// Types
// C'tors/D'tors
Pkcs11Attributes(Blob const &rCertificate,
HCRYPTPROV hprovContext);
// Operators
// Operations
// Access
Blob
ContainerId();
Blob
EndDate() const;
Blob
Id() const;
static Blob
Id(Blob const &rblbModulus);
Blob
Issuer();
std::string
Label();
Blob
Modulus();
Blob
RawModulus();
Blob
SerialNumber();
Blob
StartDate() const;
std::string
Subject();
// Predicates
protected:
// Types
// C'tors/D'tors
// Operators
// Operations
// Access
// Predicates
// Variables
private:
// Types
// C'tors/D'tors
// Operators
// Operations
// Access
// Predicates
// Variables
pki::X509Cert m_x509cert;
HCRYPTPROV m_hprovContext;
};
#endif // SLBCSP_PKCS11ATTR_H