📄 kopenssl.h
字号:
*/ ASN1_METHOD *X509_asn1_meth(); /* * ASN1_i2d_fp - used for netscape output */ int ASN1_i2d_fp(FILE *out, unsigned char *x); /* * ASN1_d2i_fp - read an X509 from a DER encoded file (buf can be NULL) */ X509 *X509_d2i_fp(FILE *out, X509** buf); /* * X509_print - print the text form of an X509 */ int X509_print(FILE *fp, X509 *x); /* * Read a PKCS#12 cert from fp */ PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12); /* * Change the password on a PKCS#12 cert */ int PKCS12_newpass(PKCS12 *p12, char *oldpass, char *newpass); /* * Write a PKCS#12 to mem */ int i2d_PKCS12(PKCS12 *p12, unsigned char **p); /* * Write a PKCS#12 to FILE* */ int i2d_PKCS12_fp(FILE *fp, PKCS12 *p12); /* * Create a new PKCS#12 object */ PKCS12 *PKCS12_new(void); /* * Destroy that PKCS#12 that you created! */ void PKCS12_free(PKCS12 *a); /* * Parse the PKCS#12 */ int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, STACK_OF(X509) **ca); /* * Free the Private Key */ void EVP_PKEY_free(EVP_PKEY *x); /* * Pop off the stack */ char *sk_pop(STACK *s); /* * Free the stack */ void sk_free(STACK *s); /* * Number of elements in the stack */ int sk_num(STACK *s); /* * Value of element n in the stack */ char *sk_value(STACK *s, int n); /* * Create a new stack */ STACK *sk_new(int (*cmp)()); /* * Add an element to the stack */ int sk_push(STACK *s, char *d); /* * Duplicate the stack */ STACK *sk_dup(STACK *s); /* * Convert an ASN1_INTEGER to it's text form */ char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, ASN1_INTEGER *aint); /* * Get the certificate's serial number */ ASN1_INTEGER *X509_get_serialNumber(X509 *x); /* * Get the certificate's public key */ EVP_PKEY *X509_get_pubkey(X509 *x); /* * Convert the public key to a decimal form */ int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp); /* * Check the private key of a PKCS bundle against the X509 */ int X509_check_private_key(X509 *x, EVP_PKEY *p); /* * Convert a BIGNUM to a hex string */ char *BN_bn2hex(const BIGNUM *a); /* * Compute the digest of an X.509 */ int X509_digest(const X509 *x,const EVP_MD *t, unsigned char *md, unsigned int *len); /* * EVP_md5 */ EVP_MD *EVP_md5(); /* * ASN1_INTEGER free */ void ASN1_INTEGER_free(ASN1_INTEGER *x); /* * ASN1_STRING_data */ unsigned char *ASN1_STRING_data(ASN1_STRING *x); /* * */ int OBJ_obj2nid(ASN1_OBJECT *o); /* * */ const char * OBJ_nid2ln(int n); /* * get the number of extensions */ int X509_get_ext_count(X509 *x); /* * */ int X509_get_ext_by_NID(X509 *x, int nid, int lastpos); /* * */ int X509_get_ext_by_OBJ(X509 *x,ASN1_OBJECT *obj,int lastpos); /* * */ X509_EXTENSION *X509_get_ext(X509 *x, int loc); /* * */ X509_EXTENSION *X509_delete_ext(X509 *x, int loc); /* * */ int X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc); /* * */ void *X509_get_ext_d2i(X509 *x, int nid, int *crit, int *idx); /* * */ char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *ia5); /* * */ int ASN1_BIT_STRING_get_bit(ASN1_BIT_STRING *a, int n); /* * */ PKCS7 *PKCS7_new(void); /* * */ void PKCS7_free(PKCS7 *a); /* * */ void PKCS7_content_free(PKCS7 *a); /* * */ int i2d_PKCS7(PKCS7 *a, unsigned char **pp); /* * */ PKCS7 *d2i_PKCS7(PKCS7 **a, unsigned char **pp,long length); /* * */ int i2d_PKCS7_fp(FILE *fp,PKCS7 *p7); /* * */ PKCS7 *d2i_PKCS7_fp(FILE *fp,PKCS7 **p7); /* * */ int i2d_PKCS7_bio(BIO *bp,PKCS7 *p7); /* * */ PKCS7 *d2i_PKCS7_bio(BIO *bp,PKCS7 **p7); /* * */ PKCS7 *PKCS7_dup(PKCS7 *p7); /* * Create a PKCS7 signature / signed message */ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, BIO *data, int flags); /* * Verify a PKCS7 signature. */ int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, BIO *indata, BIO *out, int flags); /* * Get signers of a verified PKCS7 signature */ STACK_OF(X509) *PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, int flags); /* * PKCS7 encrypt message */ PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, EVP_CIPHER *cipher, int flags); /* * decrypt PKCS7 message */ int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, int flags); /* * Load a CA list file. */ STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file); /* * Load a file of PEM encoded objects. */ STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, pem_password_cb *cb, void *u); /* * Get the number of purposes available */ int X509_PURPOSE_get_count(); /* * Get the ID of a purpose */ int X509_PURPOSE_get_id(X509_PURPOSE *); /* * Check the existence of purpose id "id" in x. for CA, set ca = 1, else 0 */ int X509_check_purpose(X509 *x, int id, int ca); /* * Get the purpose with index #idx */ X509_PURPOSE * X509_PURPOSE_get0(int idx); /* * Create a new Private KEY */ EVP_PKEY* EVP_PKEY_new(); /* * Assign a private key */ int EVP_PKEY_assign(EVP_PKEY *pkey, int type, char *key); /* * Generate a RSA key */ RSA *RSA_generate_key(int bits, unsigned long e, void (*callback)(int,int,void *), void *cb_arg); /* * Create/destroy a certificate request */ X509_REQ *X509_REQ_new(); void X509_REQ_free(X509_REQ *a); /* * Set the public key in the REQ object */ int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey); /* for testing */ int i2d_X509_REQ_fp(FILE *fp, X509_REQ *x); /* SMime support */ STACK *X509_get1_email(X509 *x); void X509_email_free(STACK *sk); /* Ciphers needed for SMime */ EVP_CIPHER *EVP_des_ede3_cbc(); EVP_CIPHER *EVP_des_cbc(); EVP_CIPHER *EVP_rc2_cbc(); EVP_CIPHER *EVP_rc2_64_cbc(); EVP_CIPHER *EVP_rc2_40_cbc(); /* clear the current error - use this often*/ void ERR_clear_error(); /* retrieve the latest error */ unsigned long ERR_get_error(); /* Print the errors to this stream */ void ERR_print_errors_fp(FILE *fp); /* Get a pointer to the SSL session id (reference counted) */ SSL_SESSION *SSL_get1_session(SSL *ssl); /* Frees a pointer to the SSL session id (reference decremented if needed) */ void SSL_SESSION_free(SSL_SESSION *session); /* Set the SSL session to reuse. */ int SSL_set_session(SSL *ssl, SSL_SESSION *session); /* Decode ASN.1 to SSL_SESSION */ SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, unsigned char **pp, long length); /* Encode SSL_SESSION to ASN.1 */ int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp); /* Write privatekey to FILE stream */ int i2d_PrivateKey_fp(FILE*, EVP_PKEY*); /* Write PKCS#8privatekey to FILE stream */ int i2d_PKCS8PrivateKey_fp(FILE*, EVP_PKEY*, const EVP_CIPHER*, char*, int, pem_password_cb*, void*); /* Free RSA structure */ void RSA_free(RSA*); /* Get a blowfish CBC pointer */ EVP_CIPHER *EVP_bf_cbc(); /* Sign a CSR */ int X509_REQ_sign(X509_REQ*, EVP_PKEY*, const EVP_MD*); /* add a name entry */ int X509_NAME_add_entry_by_txt(X509_NAME*, char*, int, unsigned char*, int, int, int); /* Create a name */ X509_NAME *X509_NAME_new(); /* Set the subject */ int X509_REQ_set_subject_name(X509_REQ*,X509_NAME*);#endifprivate: KOpenSSLProxy(); ~KOpenSSLProxy(); KOpenSSLProxyPrivate *d; KLibrary *_sslLib; KLibrary *_cryptoLib; static KOpenSSLProxy *_me; bool _ok;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -