spkac stuff

svn path=/trunk/kdesupport/qca/; revision=379548
This commit is contained in:
Justin Karneges 2005-01-17 22:12:21 +00:00
parent c166d35345
commit 282d1bf00a
3 changed files with 49 additions and 7 deletions

3
TODO
View File

@ -32,7 +32,7 @@
cipher - needs to handling padding
mac
pkey
cert/crl/store (don't forget to call detach())
cert/crl/store/csr/ca/etc (don't forget to call detach())
tls
sasl
openpgp
@ -56,7 +56,6 @@
* consider new APIs:
cert/pkey: fingerprints (is there a standard for this?)
rsa: toSPKAC (kiko)
pkey: ability to choose cipher for toDER/PEM passphrase?
personalbundle: cert chain vs cert + trusted certs?

View File

@ -32,10 +32,20 @@ namespace QCA
class PublicKey;
class PrivateKey;
enum CertificateRequestFormat
{
CSR_PKCS10, // standard PKCS#10 format
CSR_SPKAC // Netscape format
};
// note: in SPKAC mode, all options are ignored except for challenge
class QCA_EXPORT CertificateOptions
{
public:
CertificateOptions();
CertificateOptions(CertificateRequestFormat = CSR_PKCS10);
CertificateRequestFormat format() const;
void setFormat(CertificateRequestFormat f);
bool isValid() const;
@ -127,18 +137,23 @@ namespace QCA
bool isNull() const;
CertificateRequestFormat format() const;
PublicKey subjectPublicKey() const;
bool isCA() const;
int pathLimit() const;
bool isCA() const; // PKCS#10 only
int pathLimit() const; // PKCS#10 only
QString challenge() const;
SignAlgo signatureAlgorithm() const;
// import / export
// import / export - PKCS#10 only
QSecureArray toDER() const;
QString toPEM() const;
static CertificateRequest fromDER(const QSecureArray &a, const QString &provider = QString());
static CertificateRequest fromPEM(const QString &s, const QString &provider = QString());
// import / export - SPKAC only
QString toString() const;
static CertificateRequest fromString(const QString &s, const QString &provider = QString());
};
class QCA_EXPORT CRLEntry

View File

@ -33,8 +33,19 @@ Provider::Context *getContext(const QString &type, const QString &provider);
//----------------------------------------------------------------------------
// CertificateOptions
//----------------------------------------------------------------------------
CertificateOptions::CertificateOptions()
CertificateOptions::CertificateOptions(CertificateRequestFormat f)
{
Q_UNUSED(f);
}
CertificateRequestFormat CertificateOptions::format() const
{
return CSR_PKCS10;
}
void CertificateOptions::setFormat(CertificateRequestFormat f)
{
Q_UNUSED(f);
}
bool CertificateOptions::isValid() const
@ -403,6 +414,11 @@ bool CertificateRequest::isNull() const
return false;
}
CertificateRequestFormat CertificateRequest::format() const
{
return CSR_PKCS10;
}
PublicKey CertificateRequest::subjectPublicKey() const
{
return PublicKey();
@ -452,6 +468,18 @@ CertificateRequest CertificateRequest::fromPEM(const QString &s, const QString &
return CertificateRequest();
}
QString CertificateRequest::toString() const
{
return QString();
}
CertificateRequest CertificateRequest::fromString(const QString &s, const QString &provider)
{
Q_UNUSED(s);
Q_UNUSED(provider);
return CertificateRequest();
}
//----------------------------------------------------------------------------
// CRLEntry
//----------------------------------------------------------------------------