#include <AsymmetricKey.h>
|
enum | Algorithm { RSA,
DSA,
ECDSA
} |
|
enum | Curve {
X962_PRIME192V1 = 409,
X962_PRIME192V2 = 410,
X962_PRIME192V3 = 411,
X962_PRIME239V1 = 412,
X962_PRIME239V2 = 413,
X962_PRIME239V3 = 414,
X962_PRIME256V1 = 415,
X962_C2PNB163V1 = 684,
X962_C2PNB163V2 = 685,
X962_C2PNB163V3 = 686,
X962_C2PNB176V1 = 687,
X962_C2TNB191V1 = 688,
X962_C2TNB191V2 = 689,
X962_C2TNB191V3 = 690,
X962_C2PNB208W1 = 693,
X962_C2TNB239V1 = 694,
X962_C2TNB239V2 = 695,
X962_C2TNB239V3 = 696,
X962_C2PNB272W1 = 699,
X962_C2PNB304W1 = 700,
X962_C2TNB359V1 = 701,
X962_C2PNB368W1 = 702,
X962_C2TNB431R1 = 703,
SECG_SECP160K1 = 708,
SECG_SECP160R1 = 709,
SECG_SECP160R2 = 710,
SECG_SECP192K1 = 711,
SECG_SECP224K1 = 712,
SECG_SECP256K1 = 714,
SECG_SECT163R1 = 722,
SECG_SECT193R1 = 724,
SECG_SECT193R2 = 725,
SECG_SECT239K1 = 728,
NISTSECG_SECP224R1 = 713,
NISTSECG_SECP384R1 = 715,
NISTSECG_SECP521R1 = 716,
NISTSECG_SECT163K1 = 721,
NISTSECG_SECT163R2 = 723,
NISTSECG_SECT233K1 = 726,
NISTSECG_SECT233R1 = 727,
NISTSECG_SECT283K1 = 729,
NISTSECG_SECT283R1 = 730,
NISTSECG_SECT409K1 = 731,
NISTSECG_SECT409R1 = 732,
NISTSECG_SECT571K1 = 733,
NISTSECG_SECT571R1 = 734,
BRAINPOOL_P160R1 = 921,
BRAINPOOL_P160T1 = 922,
BRAINPOOL_P192R1 = 923,
BRAINPOOL_P192T1 = 924,
BRAINPOOL_P224R1 = 925,
BRAINPOOL_P224T1 = 926,
BRAINPOOL_P256R1 = 927,
BRAINPOOL_P256T1 = 928,
BRAINPOOL_P320R1 = 929,
BRAINPOOL_P320T1 = 930,
BRAINPOOL_P384R1 = 931,
BRAINPOOL_P384T1 = 932,
BRAINPOOL_P512R1 = 933,
BRAINPOOL_P512T1 = 934
} |
|
Classe que representa uma chave assimétrica.
Esta classe é abstrata e implementa apenas os procedimentos comuns a todos os tipos de chaves assimétricas.
- See also
- PrivateKey
-
PublicKey
-
RSAPrivateKey
-
RSAPublicKey
-
DSAPrivateKey
-
DSAPublicKey
-
KeyPair
◆ Algorithm
Algoritmos assimétricos suportados.
Enumerator |
---|
RSA | A chave é do tipo RSA
|
DSA | A chave é do tipo DSA
|
ECDSA | A chave é do tipo ECDSA
|
◆ Curve
Curvas Elipticas suportadas (= NID)
Enumerator |
---|
X962_PRIME192V1 | |
X962_PRIME192V2 | |
X962_PRIME192V3 | |
X962_PRIME239V1 | |
X962_PRIME239V2 | |
X962_PRIME239V3 | |
X962_PRIME256V1 | |
X962_C2PNB163V1 | |
X962_C2PNB163V2 | |
X962_C2PNB163V3 | |
X962_C2PNB176V1 | |
X962_C2TNB191V1 | |
X962_C2TNB191V2 | |
X962_C2TNB191V3 | |
X962_C2PNB208W1 | |
X962_C2TNB239V1 | |
X962_C2TNB239V2 | |
X962_C2TNB239V3 | |
X962_C2PNB272W1 | |
X962_C2PNB304W1 | |
X962_C2TNB359V1 | |
X962_C2PNB368W1 | |
X962_C2TNB431R1 | |
SECG_SECP160K1 | |
SECG_SECP160R1 | |
SECG_SECP160R2 | |
SECG_SECP192K1 | |
SECG_SECP224K1 | |
SECG_SECP256K1 | |
SECG_SECT163R1 | |
SECG_SECT193R1 | |
SECG_SECT193R2 | |
SECG_SECT239K1 | |
NISTSECG_SECP224R1 | |
NISTSECG_SECP384R1 | |
NISTSECG_SECP521R1 | |
NISTSECG_SECT163K1 | |
NISTSECG_SECT163R2 | |
NISTSECG_SECT233K1 | |
NISTSECG_SECT233R1 | |
NISTSECG_SECT283K1 | |
NISTSECG_SECT283R1 | |
NISTSECG_SECT409K1 | |
NISTSECG_SECT409R1 | |
NISTSECG_SECT571K1 | |
NISTSECG_SECT571R1 | |
BRAINPOOL_P160R1 | |
BRAINPOOL_P160T1 | |
BRAINPOOL_P192R1 | |
BRAINPOOL_P192T1 | |
BRAINPOOL_P224R1 | |
BRAINPOOL_P224T1 | |
BRAINPOOL_P256R1 | |
BRAINPOOL_P256T1 | |
BRAINPOOL_P320R1 | |
BRAINPOOL_P320T1 | |
BRAINPOOL_P384R1 | |
BRAINPOOL_P384T1 | |
BRAINPOOL_P512R1 | |
BRAINPOOL_P512T1 | |
◆ AsymmetricKey() [1/3]
Construtor padrão recebendo um ponteiro para a estrutura OpenSSL EVP_PKEY. Esse construtor deve ser usando apenas internamente, para construir uma chave assimétrica nova deve ser utilizada a classe KeyPair.
- Parameters
-
key | ponteiro para a estrutura OpenSSL EVP_PKEY |
- Exceptions
-
AsymmetricKeyException | caso a estrutura EVP_PKEY não seja uma estrutura OpenSSL válida ou ocorra algum problema na sua carga. |
◆ AsymmetricKey() [2/3]
AsymmetricKey::AsymmetricKey |
( |
ByteArray & |
encoded | ) |
|
Carrega uma chave assimétrica a partir da sua equivalente codificada em DER. Esse método é reimplementado pelas subclasses.
- Parameters
-
encoded | a chave assimétrica no formato DER. |
◆ AsymmetricKey() [3/3]
AsymmetricKey::AsymmetricKey |
( |
std::string & |
encoded | ) |
|
Carrega uma chave assimétrica a partir da sua equivalente codificada em PEM. Esse método é reimplementado pelas subclasses.
- Parameters
-
encoded | a chave assimétrica no formato PEM. |
◆ ~AsymmetricKey()
AsymmetricKey::~AsymmetricKey |
( |
| ) |
|
|
virtual |
Destrutor padrão. Limpa a estrutura interna EVP_PKEY
◆ getAlgorithm()
Retorna o algoritmo assimétrico que deve ser usado com a chave atual.
- Returns
- tipo do algoritmo simetrico para essa chave.
- Exceptions
-
- See also
- AsymmetricKey::Algorithm
◆ getDerEncoded()
virtual ByteArray AsymmetricKey::getDerEncoded |
( |
| ) |
|
|
pure virtual |
Retorna uma representação da chave codificada em DER. Esse método é abstrato e implementado pelas subclasses.
- Returns
- chave assimétrica no formato DER.
Implemented in PrivateKey, and PublicKey.
◆ getEvpPkey()
EVP_PKEY * AsymmetricKey::getEvpPkey |
( |
| ) |
|
Uso interno. Retorna a estrutura OpenSSL interna.
- Returns
- um ponteiro para a estrutura OpenSSL interna à classe AsymmetricKey.
◆ getPemEncoded()
virtual std::string AsymmetricKey::getPemEncoded |
( |
| ) |
|
|
pure virtual |
Retorna uma representação da chave codificada em PEM. Esse método é abstrato e implementado pelas subclasses.
- Returns
- chave assimétrica no formato PEM.
Implemented in PrivateKey, and PublicKey.
◆ getSize()
Retorna o tamanho da chave em bytes.
- Returns
- tamanho da chave em bytes.
- Exceptions
-
AsymmetricKeyException | se o tipo de chave não for suportado ou caso um erro tenha ocorrido ao tentar obter o tamanho da mesma. |
◆ getSizeBits()
Retorna o tamanho da chave em bits.
- Returns
- tamanho da chave em bits.
- Exceptions
-
AsymmetricKeyException | se o tipo de chave não for suportado ou caso um erro tenha ocorrido ao tentar obter o tamanho da mesma. |
◆ key
EVP_PKEY* AsymmetricKey::key |
|
protected |
Ponteiro para a estrutura interna OpenSSL EVP_PKEY.
The documentation for this class was generated from the following files: