⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ksslpkcs12.h

📁 konqueror3 embedded版本, KDE环境下的当家浏览器的嵌入式版本源码包.
💻 H
字号:
/* This file is part of the KDE project * * Copyright (C) 2001 George Staikos <staikos@kde.org> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB.  If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */#ifndef _KSSLPKCS12_H#define _KSSLPKCS12_H#ifdef Q_WS_WIN#include "ksslconfig_win.h"#else#include "ksslconfig.h"#endif#ifdef KSSL_HAVE_SSL#define crypt _openssl_crypt#include <openssl/pkcs12.h>#undef crypt#elseclass PKCS12;class EVP_PKEY;class X509;#endif#include <ksslcertificate.h>#include <ksslcertchain.h>#ifndef STACK_OF#define STACK_OF(x) void#endifclass KSSL;class KSSLPKCS12Private;class KOpenSSLProxy;/** * KDE PKCS#12 Certificate * * As of yet, this class is being defined.  if you use it, let it be known * that BC will break on you until this message is removed. * * @author George Staikos <staikos@kde.org> * @see KSSL, KSSLCertificate * @short KDE PKCS#12 Certificate */class KIO_EXPORT KSSLPKCS12 {friend class KSSL;public:	/**	 *  Destroy this PKCS#12 certificate	 */	virtual ~KSSLPKCS12();	/**	 *  The name of this certificate.  This can be used to refer to the	 *  certificate instead of passing the object itself.	 *  @return the name of the certificate	 */	QString name();	/**	 *  Create a KSSLPKCS12 object from a Base64 in a QString.	 *  @param base64 the base64 encoded certificate	 *  @param password a password for the certificate if encrypted	 *  @return the PKCS#12 object, or NULL on failure.	 */	static KSSLPKCS12* fromString(QString base64, QString password = "");	/**	 *  Create a KSSLPKCS12 object by reading a PKCS#12 file.	 *  @param filename the filename of the certificate	 *  @param password a password for the certificate if encrypted	 *  @return the PKCS#12 object, or NULL on failure.	 */	static KSSLPKCS12* loadCertFile(QString filename, QString password = "");	/**	 *  Convert to a Base64 string.	 *  @return the certificate in base64 form	 */	QString toString();	/**	 *  Raw set the PKCS12 object.	 *  @param c the openssl PKCS12 object	 *  @internal	 */	void setCert(PKCS12 *c);	/**	 *  Change the password of the PKCS#12 in memory.	 *  @param pold the old password	 *  @param pnew the new password	 *  @return true on success	 */	bool changePassword(QString pold, QString pnew); 	/**	 *  Get the private key.	 *  @return the internal OpenSSL private key format	 *  @internal	 */	EVP_PKEY *getPrivateKey();	/**	 *  Get the X.509 certificate.	 *  @return the X.509 certificate for the PKCS#12 object, or NULL	 */	KSSLCertificate *getCertificate();	/**	 *  Write the PKCS#12 to a file in raw mode.	 *  @param filename the file to write to	 *  @return true on success	 */	bool toFile(QString filename);	/**	 *  Check the X.509 and private key to make sure they're valid.	 *  @return the result of the validation	 *  @see KSSLCertificate	 */	KSSLCertificate::KSSLValidation validate();	/**	 *  Check the X.509 and private key to make sure they're valid.	 *  @param p the purpose to validate for	 *  @return the result of the validation	 *  @see KSSLCertificate	 */	KSSLCertificate::KSSLValidation validate(KSSLCertificate::KSSLPurpose p);	/**	 *  Check the X.509 and private key to make sure they're valid.	 *  Ignore any cached validation result.	 *  @return the result of the validation	 *  @see KSSLCertificate	 */	KSSLCertificate::KSSLValidation revalidate();	/**	 *  Check the X.509 and private key to make sure they're valid.	 *  Ignore any cached validation result.	 *  @param p the purpose to validate for	 *  @return the result of the validation	 *  @see KSSLCertificate	 */	KSSLCertificate::KSSLValidation revalidate(KSSLCertificate::KSSLPurpose p);	/**	 *  Check if the X.509 and private key are valid.	 *  @return true if valid	 */	bool isValid();	/**	 *  Check if the X.509 and private key are valid.	 *  @param p the purpose to validate for	 *  @return true if valid	 */	bool isValid(KSSLCertificate::KSSLPurpose p);protected:	KSSLPKCS12();	bool parse(QString pass);private:	KSSLPKCS12Private *d;	PKCS12 *_pkcs;	KOpenSSLProxy *kossl;	EVP_PKEY *_pkey;	KSSLCertificate *_cert;	STACK_OF(X509) *_caStack;};#endif

⌨️ 快捷键说明

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