Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15:Update
openssl-1_0_0.21954
openssl-fips_cavs_pad_with_zeroes.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File openssl-fips_cavs_pad_with_zeroes.patch of Package openssl-1_0_0.21954
Index: openssl-1.0.2j/crypto/fips/fips_rsagtest.c =================================================================== --- openssl-1.0.2j.orig/crypto/fips/fips_rsagtest.c 2017-05-04 20:57:44.099237241 +0200 +++ openssl-1.0.2j/crypto/fips/fips_rsagtest.c 2017-05-04 20:58:13.159687179 +0200 @@ -585,7 +585,7 @@ int rsa_PrimeGen(FILE *out, FILE *in) do_bn_print_name(out, "p", rsa->p); do_bn_print_name(out, "q", rsa->q); do_bn_print_name(out, "n", rsa->n); - do_bn_print_name(out, "d", rsa->d); + do_bn_print_name_pad(out, "d", rsa->d, mod); FIPS_rsa_free(rsa); rsa = NULL; } Index: openssl-1.0.2j/crypto/fips/fips_utl.h =================================================================== --- openssl-1.0.2j.orig/crypto/fips/fips_utl.h 2017-05-04 20:57:44.099237241 +0200 +++ openssl-1.0.2j/crypto/fips/fips_utl.h 2017-05-04 20:57:44.131237737 +0200 @@ -74,7 +74,9 @@ int hex2bin(const char *in, unsigned cha unsigned char *hex2bin_m(const char *in, long *plen); int do_hex2bn(BIGNUM **pr, const char *in); int do_bn_print(FILE *out, const BIGNUM *bn); +int do_bn_print_pad(FILE *out, const BIGNUM *bn, int padbits); int do_bn_print_name(FILE *out, const char *name, const BIGNUM *bn); +int do_bn_print_name_pad(FILE *out, const char *name, const BIGNUM *bn, int padbits); int parse_line(char **pkw, char **pval, char *linebuf, char *olinebuf); int parse_line2(char **pkw, char **pval, char *linebuf, char *olinebuf, int eol); BIGNUM *hex2bn(const char *in); @@ -291,6 +293,43 @@ int do_bn_print_name(FILE *out, const ch if (!r) return 0; fputs(RESP_EOL, out); + return 1; + } + +int do_bn_print_pad(FILE *out, const BIGNUM *bn, int padbits) + { + int len, i; + unsigned char *tmp; + len = BN_num_bytes(bn); + if (len == 0) + { + fputs("00", out); + return 1; + } + + tmp = OPENSSL_malloc(len); + if (!tmp) + { + fprintf(stderr, "Memory allocation error\n"); + return 0; + } + BN_bn2bin(bn, tmp); + for (i = 0; i < padbits/BN_BYTES - len; i++) + fprintf(out, "%02x", 0); + for (i = 0; i < len; i++) + fprintf(out, "%02x", tmp[i]); + OPENSSL_free(tmp); + return 1; + } + +int do_bn_print_name_pad(FILE *out, const char *name, const BIGNUM *bn, int padbits) + { + int r; + fprintf(out, "%s = ", name); + r = do_bn_print_pad(out, bn, padbits); + if (!r) + return 0; + fputs(RESP_EOL, out); return 1; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor