#else
#define njs_evp_md_ctx_new() EVP_MD_CTX_create()
#define njs_evp_md_ctx_free(_ctx) EVP_MD_CTX_destroy(_ctx)
-#define ECDSA_SIG_get0_s(sig) (sig)->s
-#define ECDSA_SIG_get0_r(sig) (sig)->r
#endif
njs_ec_point_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *p,
BIGNUM *x, BIGNUM *y)
{
-#if (OPENSSL_VERSION_NUMBER >= 0x10100001L)
+#if (OPENSSL_VERSION_NUMBER >= 0x10101001L)
return EC_POINT_get_affine_coordinates(group, p, x, y, NULL);
#else
return EC_POINT_get_affine_coordinates_GFp(group, p, x, y, NULL);
group = EC_KEY_get0_group(ec);
group_bits = EC_GROUP_get_degree(group);
- group_bytes = (group_bits / CHAR_BIT) + (7 + (group_bits % CHAR_BIT)) / 8;
+ group_bytes = (group_bits / 8) + (7 + (group_bits % 8)) / 8;
x_bn = BN_new();
if (x_bn == NULL) {
switch (EVP_PKEY_id(key->pkey)) {
case EVP_PKEY_RSA:
-#if (OPENSSL_VERSION_NUMBER >= 0x10100001L)
+#if (OPENSSL_VERSION_NUMBER >= 0x10101001L)
case EVP_PKEY_RSA_PSS:
#endif
ret = njs_export_jwk_rsa(vm, key, retval);
njs_convert_der_to_p1363(njs_vm_t *vm, EVP_PKEY *pkey, const u_char *der,
size_t der_len, u_char **pout, size_t *out_len)
{
- u_char *data;
- unsigned n;
- njs_int_t ret;
- ECDSA_SIG *ec_sig;
+ u_char *data;
+ unsigned n;
+ njs_int_t ret;
+ ECDSA_SIG *ec_sig;
+ const BIGNUM *r, *s;
ret = NJS_OK;
ec_sig = NULL;
goto fail;
}
- if (njs_bn_bn2binpad(ECDSA_SIG_get0_r(ec_sig), data, n) <= 0) {
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+ ECDSA_SIG_get0(ec_sig, &r, &s);
+#else
+ r = ec_sig->r;
+ s = ec_sig->s;
+#endif
+
+ if (njs_bn_bn2binpad(r, data, n) <= 0) {
goto fail;
}
- if (njs_bn_bn2binpad(ECDSA_SIG_get0_s(ec_sig), &data[n], n) <= 0) {
+ if (njs_bn_bn2binpad(s, &data[n], n) <= 0) {
goto fail;
}