PATH:
opt
/
cpanel
/
ea-openssl11
/
include
/
openssl
/* * Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2004, EdelKey Project. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html * * Originally written by Christophe Renou and Peter Sylvester, * for the EdelKey project. */ #ifndef HEADER_SRP_H # define HEADER_SRP_H #include <openssl/opensslconf.h> #ifndef OPENSSL_NO_SRP # include <stdio.h> # include <string.h> # include <openssl/safestack.h> # include <openssl/bn.h> # include <openssl/crypto.h> # ifdef __cplusplus extern "C" { # endif typedef struct SRP_gN_cache_st { char *b64_bn; BIGNUM *bn; } SRP_gN_cache; DEFINE_STACK_OF(SRP_gN_cache) typedef struct SRP_user_pwd_st { /* Owned by us. */ char *id; BIGNUM *s; BIGNUM *v; /* Not owned by us. */ const BIGNUM *g; const BIGNUM *N; /* Owned by us. */ char *info; } SRP_user_pwd; void SRP_user_pwd_free(SRP_user_pwd *user_pwd); DEFINE_STACK_OF(SRP_user_pwd) typedef struct SRP_VBASE_st { STACK_OF(SRP_user_pwd) *users_pwd; STACK_OF(SRP_gN_cache) *gN_cache; /* to simulate a user */ char *seed_key; const BIGNUM *default_g; const BIGNUM *default_N; } SRP_VBASE; /* * Internal structure storing N and g pair */ typedef struct SRP_gN_st { char *id; const BIGNUM *g; const BIGNUM *N; } SRP_gN; DEFINE_STACK_OF(SRP_gN) SRP_VBASE *SRP_VBASE_new(char *seed_key); void SRP_VBASE_free(SRP_VBASE *vb); int SRP_VBASE_init(SRP_VBASE *vb, char *verifier_file); /* This method ignores the configured seed and fails for an unknown user. */ DEPRECATEDIN_1_1_0(SRP_user_pwd *SRP_VBASE_get_by_user(SRP_VBASE *vb, char *username)) /* NOTE: unlike in SRP_VBASE_get_by_user, caller owns the returned pointer.*/ SRP_user_pwd *SRP_VBASE_get1_by_user(SRP_VBASE *vb, char *username); char *SRP_create_verifier(const char *user, const char *pass, char **salt, char **verifier, const char *N, const char *g); int SRP_create_verifier_BN(const char *user, const char *pass, BIGNUM **salt, BIGNUM **verifier, const BIGNUM *N, const BIGNUM *g); # define SRP_NO_ERROR 0 # define SRP_ERR_VBASE_INCOMPLETE_FILE 1 # define SRP_ERR_VBASE_BN_LIB 2 # define SRP_ERR_OPEN_FILE 3 # define SRP_ERR_MEMORY 4 # define DB_srptype 0 # define DB_srpverifier 1 # define DB_srpsalt 2 # define DB_srpid 3 # define DB_srpgN 4 # define DB_srpinfo 5 # undef DB_NUMBER # define DB_NUMBER 6 # define DB_SRP_INDEX 'I' # define DB_SRP_VALID 'V' # define DB_SRP_REVOKED 'R' # define DB_SRP_MODIF 'v' /* see srp.c */ char *SRP_check_known_gN_param(const BIGNUM *g, const BIGNUM *N); SRP_gN *SRP_get_default_gN(const char *id); /* server side .... */ BIGNUM *SRP_Calc_server_key(const BIGNUM *A, const BIGNUM *v, const BIGNUM *u, const BIGNUM *b, const BIGNUM *N); BIGNUM *SRP_Calc_B(const BIGNUM *b, const BIGNUM *N, const BIGNUM *g, const BIGNUM *v); int SRP_Verify_A_mod_N(const BIGNUM *A, const BIGNUM *N); BIGNUM *SRP_Calc_u(const BIGNUM *A, const BIGNUM *B, const BIGNUM *N); /* client side .... */ BIGNUM *SRP_Calc_x(const BIGNUM *s, const char *user, const char *pass); BIGNUM *SRP_Calc_A(const BIGNUM *a, const BIGNUM *N, const BIGNUM *g); BIGNUM *SRP_Calc_client_key(const BIGNUM *N, const BIGNUM *B, const BIGNUM *g, const BIGNUM *x, const BIGNUM *a, const BIGNUM *u); int SRP_Verify_B_mod_N(const BIGNUM *B, const BIGNUM *N); # define SRP_MINIMAL_N 1024 # ifdef __cplusplus } # endif # endif #endif
[-] srtp.h
[edit]
[-] rc5.h
[edit]
[-] md5.h
[edit]
[-] dtls1.h
[edit]
[-] buffererr.h
[edit]
[-] asn1err.h
[edit]
[-] aes.h
[edit]
[-] comp.h
[edit]
[-] e_os2.h
[edit]
[-] dherr.h
[edit]
[-] obj_mac.h
[edit]
[-] x509v3err.h
[edit]
[-] uierr.h
[edit]
[-] pkcs12err.h
[edit]
[-] dsaerr.h
[edit]
[-] ecdh.h
[edit]
[-] pkcs7.h
[edit]
[-] seed.h
[edit]
[+]
..
[-] randerr.h
[edit]
[-] objectserr.h
[edit]
[-] evp.h
[edit]
[-] ossl_typ.h
[edit]
[-] opensslconf.h
[edit]
[-] x509.h
[edit]
[-] camellia.h
[edit]
[-] engine.h
[edit]
[-] whrlpool.h
[edit]
[-] tserr.h
[edit]
[-] ocsperr.h
[edit]
[-] modes.h
[edit]
[-] ocsp.h
[edit]
[-] rand.h
[edit]
[-] storeerr.h
[edit]
[-] err.h
[edit]
[-] txt_db.h
[edit]
[-] ecdsa.h
[edit]
[-] idea.h
[edit]
[-] crypto.h
[edit]
[-] asn1.h
[edit]
[-] cterr.h
[edit]
[-] async.h
[edit]
[-] rand_drbg.h
[edit]
[-] asn1t.h
[edit]
[-] ssl3.h
[edit]
[-] x509err.h
[edit]
[-] sslerr.h
[edit]
[-] bio.h
[edit]
[-] tls1.h
[edit]
[-] conferr.h
[edit]
[-] conf_api.h
[edit]
[-] srp.h
[edit]
[-] cmserr.h
[edit]
[-] bn.h
[edit]
[-] pkcs12.h
[edit]
[-] dh.h
[edit]
[-] objects.h
[edit]
[-] kdf.h
[edit]
[-] ssl.h
[edit]
[-] md4.h
[edit]
[-] bioerr.h
[edit]
[-] rc4.h
[edit]
[-] symhacks.h
[edit]
[-] hmac.h
[edit]
[-] asn1_mac.h
[edit]
[-] ssl2.h
[edit]
[-] conf.h
[edit]
[-] kdferr.h
[edit]
[-] lhash.h
[edit]
[-] cast.h
[edit]
[-] cms.h
[edit]
[-] mdc2.h
[edit]
[-] ct.h
[edit]
[-] dsa.h
[edit]
[-] pemerr.h
[edit]
[-] pkcs7err.h
[edit]
[-] ecerr.h
[edit]
[-] rc2.h
[edit]
[-] pem2.h
[edit]
[-] store.h
[edit]
[-] ui.h
[edit]
[-] cryptoerr.h
[edit]
[-] evperr.h
[edit]
[-] cmac.h
[edit]
[-] safestack.h
[edit]
[-] pem.h
[edit]
[-] x509_vfy.h
[edit]
[-] bnerr.h
[edit]
[-] md2.h
[edit]
[-] asyncerr.h
[edit]
[-] rsa.h
[edit]
[-] rsaerr.h
[edit]
[-] comperr.h
[edit]
[-] sha.h
[edit]
[-] stack.h
[edit]
[-] x509v3.h
[edit]
[-] ripemd.h
[edit]
[-] ebcdic.h
[edit]
[-] ts.h
[edit]
[-] engineerr.h
[edit]
[-] blowfish.h
[edit]
[-] opensslv.h
[edit]
[-] ec.h
[edit]
[-] des.h
[edit]
[-] buffer.h
[edit]