result =
_gnutls_x509_encode_and_copy_PKI_params(spk, "",
- key->pk_algorithm,
&key->params);
if (result < 0) {
gnutls_assert();
result =
_gnutls_x509_encode_and_copy_PKI_params(spk, "",
- key->pk_algorithm,
&key->params);
if (result < 0) {
gnutls_assert();
}
ret =
- _gnutls_get_key_id(key->pk_algorithm, &key->params,
+ _gnutls_get_key_id(&key->params,
output_data, output_data_size, flags);
if (ret < 0) {
gnutls_assert();
result = _gnutls_x509_encode_and_copy_PKI_params(crt->cert,
"tbsCertificate.subjectPublicKeyInfo",
- key->pk_algorithm,
&key->params);
if (result < 0) {
result = _gnutls_x509_encode_and_copy_PKI_params
(crq->crq,
"certificationRequestInfo.subjectPKInfo",
- key->pk_algorithm, &key->params);
+ &key->params);
if (result < 0) {
gnutls_assert();
int
_gnutls_x509_encode_and_copy_PKI_params(ASN1_TYPE dst,
const char *dst_name,
- gnutls_pk_algorithm_t
- pk_algorithm,
gnutls_pk_params_st * params)
{
const char *oid;
int result;
char name[128];
- oid = gnutls_pk_get_oid(pk_algorithm);
+ oid = gnutls_pk_get_oid(params->algo);
if (oid == NULL) {
gnutls_assert();
return GNUTLS_E_UNKNOWN_PK_ALGORITHM;
}
result =
- _gnutls_x509_write_pubkey_params(pk_algorithm, params, &der);
+ _gnutls_x509_write_pubkey_params(params, &der);
if (result < 0) {
gnutls_assert();
return result;
return _gnutls_asn2err(result);
}
- result = _gnutls_x509_write_pubkey(pk_algorithm, params, &der);
+ result = _gnutls_x509_write_pubkey(params, &der);
if (result < 0) {
gnutls_assert();
return result;
*/
int
_gnutls_x509_encode_PKI_params(gnutls_datum_t * der,
- gnutls_pk_algorithm_t
- pk_algorithm, gnutls_pk_params_st * params)
+ gnutls_pk_params_st * params)
{
int ret;
ASN1_TYPE tmp;
ret = _gnutls_x509_encode_and_copy_PKI_params(tmp,
"tbsCertificate.subjectPublicKeyInfo",
- pk_algorithm,
params);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
int _gnutls_x509_encode_and_copy_PKI_params(ASN1_TYPE dst,
const char *dst_name,
- gnutls_pk_algorithm_t
- pk_algorithm,
gnutls_pk_params_st * params);
int _gnutls_x509_encode_PKI_params(gnutls_datum_t * der,
- gnutls_pk_algorithm_t,
gnutls_pk_params_st * params);
int _gnutls_asn1_copy_node(ASN1_TYPE * dst, const char *dst_name,
ASN1_TYPE src, const char *src_name);
int _gnutls_get_asn_mpis(ASN1_TYPE asn, const char *root,
gnutls_pk_params_st * params);
-int _gnutls_get_key_id(gnutls_pk_algorithm_t pk, gnutls_pk_params_st *,
+int _gnutls_get_key_id(gnutls_pk_params_st *,
unsigned char *output_data,
size_t * output_data_size, unsigned flags);
result = _gnutls_x509_encode_and_copy_PKI_params
(crq->crq,
"certificationRequestInfo.subjectPKInfo",
- key->pk_algorithm, &key->params);
+ &key->params);
if (result < 0) {
gnutls_assert();
}
temp_params.params_nr = RSA_PUBLIC_PARAMS;
+ temp_params.algo = GNUTLS_PK_RSA;
result = _gnutls_x509_encode_and_copy_PKI_params
(crq->crq,
"certificationRequestInfo.subjectPKInfo",
- GNUTLS_PK_RSA, &temp_params);
+ &temp_params);
if (result < 0) {
gnutls_assert();
unsigned char *output_data,
size_t * output_data_size)
{
- int pk, ret = 0;
+ int ret = 0;
gnutls_pk_params_st params;
if (crq == NULL) {
return GNUTLS_E_INVALID_REQUEST;
}
- pk = gnutls_x509_crq_get_pk_algorithm(crq, NULL);
- if (pk < 0) {
- gnutls_assert();
- return pk;
- }
-
ret = _gnutls_x509_crq_get_mpis(crq, ¶ms);
if (ret < 0) {
gnutls_assert();
}
ret =
- _gnutls_get_key_id(pk, ¶ms, output_data, output_data_size, flags);
+ _gnutls_get_key_id(¶ms, output_data, output_data_size, flags);
gnutls_pk_params_release(¶ms);
}
int
-_gnutls_x509_write_pubkey_params(gnutls_pk_algorithm_t algo,
- gnutls_pk_params_st * params,
+_gnutls_x509_write_pubkey_params(gnutls_pk_params_st * params,
gnutls_datum_t * der)
{
- switch (algo) {
+ switch (params->algo) {
case GNUTLS_PK_DSA:
return _gnutls_x509_write_dsa_params(params, der);
case GNUTLS_PK_RSA:
}
int
-_gnutls_x509_write_pubkey(gnutls_pk_algorithm_t algo,
- gnutls_pk_params_st * params,
+_gnutls_x509_write_pubkey(gnutls_pk_params_st * params,
gnutls_datum_t * der)
{
- switch (algo) {
+ switch (params->algo) {
case GNUTLS_PK_DSA:
return _gnutls_x509_write_dsa_pubkey(params, der);
case GNUTLS_PK_RSA:
pk_algorithm = result;
params->flags = curve;
+ params->algo = pk_algorithm;
/* Read the algorithm's parameters
*/
}
ret =
- _gnutls_get_key_id(key->pk_algorithm, &key->params,
+ _gnutls_get_key_id(&key->params,
output_data, output_data_size, flags);
if (ret < 0) {
gnutls_assert();
}
result =
- _gnutls_x509_write_pubkey_params(pkey->pk_algorithm,
- &pkey->params, &algo_params);
+ _gnutls_x509_write_pubkey_params(&pkey->params, &algo_params);
if (result < 0) {
gnutls_assert();
return result;
}
int
-_gnutls_get_key_id(gnutls_pk_algorithm_t pk, gnutls_pk_params_st * params,
+_gnutls_get_key_id(gnutls_pk_params_st * params,
unsigned char *output_data, size_t * output_data_size,
unsigned flags)
{
return GNUTLS_E_SHORT_MEMORY_BUFFER;
}
- ret = _gnutls_x509_encode_PKI_params(&der, pk, params);
+ ret = _gnutls_x509_encode_PKI_params(&der, params);
if (ret < 0)
return gnutls_assert_val(ret);
unsigned char *output_data,
size_t * output_data_size)
{
- int pk, ret = 0;
+ int ret = 0;
gnutls_pk_params_st params;
if (crt == NULL) {
return GNUTLS_E_INVALID_REQUEST;
}
- pk = gnutls_x509_crt_get_pk_algorithm(crt, NULL);
- if (pk < 0) {
- gnutls_assert();
- return pk;
- }
-
/* initializes params */
ret = _gnutls_x509_crt_get_mpis(crt, ¶ms);
if (ret < 0) {
}
ret =
- _gnutls_get_key_id(pk, ¶ms, output_data, output_data_size, flags);
+ _gnutls_get_key_id(¶ms, output_data, output_data_size, flags);
gnutls_pk_params_release(¶ms);
gnutls_datum_t * der);
int
-_gnutls_x509_write_pubkey_params(gnutls_pk_algorithm_t algo,
- gnutls_pk_params_st * params,
+_gnutls_x509_write_pubkey_params(gnutls_pk_params_st * params,
gnutls_datum_t * der);
-int _gnutls_x509_write_pubkey(gnutls_pk_algorithm_t,
- gnutls_pk_params_st * params,
+int _gnutls_x509_write_pubkey(gnutls_pk_params_st * params,
gnutls_datum_t * der);
int _gnutls_x509_read_uint(ASN1_TYPE node, const char *value,
result = _gnutls_x509_encode_and_copy_PKI_params(crt->cert,
"tbsCertificate.subjectPublicKeyInfo",
- key->pk_algorithm,
&key->params);
if (result < 0) {