Update - OpenSSL 1.1.1-pre7-dev
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2011-2018 The OpenSSL Project Authors. 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
|
||||
@@ -73,11 +73,20 @@ $chunk="ebx";
|
||||
&cpuid ();
|
||||
&xor ("eax","eax");
|
||||
&cmp ("ebx","0x".unpack("H*",'tneC'));
|
||||
&jne (&label("noluck"));
|
||||
&jne (&label("zhaoxin"));
|
||||
&cmp ("edx","0x".unpack("H*",'Hrua'));
|
||||
&jne (&label("noluck"));
|
||||
&cmp ("ecx","0x".unpack("H*",'slua'));
|
||||
&jne (&label("noluck"));
|
||||
&jmp (&label("zhaoxinEnd"));
|
||||
&set_label("zhaoxin");
|
||||
&cmp ("ebx","0x".unpack("H*",'hS '));
|
||||
&jne (&label("noluck"));
|
||||
&cmp ("edx","0x".unpack("H*",'hgna'));
|
||||
&jne (&label("noluck"));
|
||||
&cmp ("ecx","0x".unpack("H*",' ia'));
|
||||
&jne (&label("noluck"));
|
||||
&set_label("zhaoxinEnd");
|
||||
&mov ("eax",0xC0000000);
|
||||
&cpuid ();
|
||||
&mov ("edx","eax");
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2011-2018 The OpenSSL Project Authors. 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
|
||||
@@ -57,11 +57,20 @@ padlock_capability:
|
||||
cpuid
|
||||
xor %eax,%eax
|
||||
cmp \$`"0x".unpack("H*",'tneC')`,%ebx
|
||||
jne .Lnoluck
|
||||
jne .Lzhaoxin
|
||||
cmp \$`"0x".unpack("H*",'Hrua')`,%edx
|
||||
jne .Lnoluck
|
||||
cmp \$`"0x".unpack("H*",'slua')`,%ecx
|
||||
jne .Lnoluck
|
||||
jmp .LzhaoxinEnd
|
||||
.Lzhaoxin:
|
||||
cmp \$`"0x".unpack("H*",'hS ')`,%ebx
|
||||
jne .Lnoluck
|
||||
cmp \$`"0x".unpack("H*",'hgna')`,%edx
|
||||
jne .Lnoluck
|
||||
cmp \$`"0x".unpack("H*",' ia')`,%ecx
|
||||
jne .Lnoluck
|
||||
.LzhaoxinEnd:
|
||||
mov \$0xC0000000,%eax
|
||||
cpuid
|
||||
mov %eax,%edx
|
||||
|
||||
+10
-8
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2008-2018 The OpenSSL Project Authors. 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
|
||||
@@ -577,7 +577,7 @@ static int bind_helper(ENGINE *e, const char *id)
|
||||
}
|
||||
|
||||
IMPLEMENT_DYNAMIC_CHECK_FN()
|
||||
IMPLEMENT_DYNAMIC_BIND_FN(bind_helper)
|
||||
IMPLEMENT_DYNAMIC_BIND_FN(bind_helper)
|
||||
# else
|
||||
static ENGINE *engine_capi(void)
|
||||
{
|
||||
@@ -835,7 +835,7 @@ int capi_rsa_sign(int dtype, const unsigned char *m, unsigned int m_len,
|
||||
CAPIerr(CAPI_F_CAPI_RSA_SIGN, CAPI_R_CANT_GET_KEY);
|
||||
return -1;
|
||||
}
|
||||
/* Convert the signature type to a CryptoAPI algorithm ID */
|
||||
/* Convert the signature type to a CryptoAPI algorithm ID */
|
||||
switch (dtype) {
|
||||
case NID_sha256:
|
||||
alg = CALG_SHA_256;
|
||||
@@ -870,13 +870,13 @@ int capi_rsa_sign(int dtype, const unsigned char *m, unsigned int m_len,
|
||||
}
|
||||
}
|
||||
|
||||
/* Create the hash object */
|
||||
/* Create the hash object */
|
||||
if (!CryptCreateHash(capi_key->hprov, alg, 0, 0, &hash)) {
|
||||
CAPIerr(CAPI_F_CAPI_RSA_SIGN, CAPI_R_CANT_CREATE_HASH_OBJECT);
|
||||
capi_addlasterror();
|
||||
return -1;
|
||||
}
|
||||
/* Set the hash value to the value passed */
|
||||
/* Set the hash value to the value passed */
|
||||
|
||||
if (!CryptSetHashParam(hash, HP_HASHVAL, (unsigned char *)m, 0)) {
|
||||
CAPIerr(CAPI_F_CAPI_RSA_SIGN, CAPI_R_CANT_SET_HASH_VALUE);
|
||||
@@ -884,7 +884,7 @@ int capi_rsa_sign(int dtype, const unsigned char *m, unsigned int m_len,
|
||||
goto err;
|
||||
}
|
||||
|
||||
/* Finally sign it */
|
||||
/* Finally sign it */
|
||||
slen = RSA_size(rsa);
|
||||
if (!CryptSignHash(hash, capi_key->keyspec, NULL, 0, sigret, &slen)) {
|
||||
CAPIerr(CAPI_F_CAPI_RSA_SIGN, CAPI_R_ERROR_SIGNING_HASH);
|
||||
@@ -1477,8 +1477,10 @@ static CAPI_KEY *capi_get_key(CAPI_CTX *ctx, const WCHAR *contname,
|
||||
ptype = PROV_RSA_AES;
|
||||
}
|
||||
if (ctx && ctx->debug_level >= CAPI_DBG_TRACE && ctx->debug_file) {
|
||||
/* above 'if' is [complementary] copy from CAPI_trace and serves
|
||||
* as optimization to minimize [below] malloc-ations */
|
||||
/*
|
||||
* above 'if' is [complementary] copy from CAPI_trace and serves
|
||||
* as optimization to minimize [below] malloc-ations
|
||||
*/
|
||||
char *_contname = wide_to_asc(contname);
|
||||
char *_provname = wide_to_asc(provname);
|
||||
|
||||
|
||||
@@ -637,7 +637,7 @@ int ossltest_aes128_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
|
||||
EVP_CIPHER_meth_get_do_cipher(EVP_aes_128_gcm())(ctx, out, in, inl);
|
||||
|
||||
/* Throw it all away and just use the plaintext as the output */
|
||||
if (tmpbuf != NULL)
|
||||
if (tmpbuf != NULL && out != NULL)
|
||||
memcpy(out, tmpbuf, inl);
|
||||
OPENSSL_free(tmpbuf);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user