2025-12-23 00:42 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
Some checks failed
linux-ci / ubuntu-ci (clang, normal) (push) Has been cancelled
linux-ci / ubuntu-ci (clang, strict) (push) Has been cancelled
linux-ci / ubuntu-ci (gcc, normal) (push) Has been cancelled
linux-ci / ubuntu-ci (gcc, strict) (push) Has been cancelled
macos-ci / macos-ci (clang, normal) (push) Has been cancelled
vm2-ci / vm2-ci (gcc, map[name:freebsd version:14.0], strict) (push) Has been cancelled
vm2-ci / vm2-ci (gcc, map[name:omnios version:r151046], normal) (push) Has been cancelled
macos-ci / macos-ci (clang, strict) (push) Has been cancelled
macos-ci / macos-ci (gcc, normal) (push) Has been cancelled
macos-ci / macos-ci (gcc, strict) (push) Has been cancelled
vm1-ci / vm1-ci (clang, map[name:freebsd version:14.2], normal) (push) Has been cancelled
vm2-ci / vm2-ci (gcc, map[name:omnios version:r151046], strict) (push) Has been cancelled
vm2-ci / vm2-ci (gcc, map[name:solaris version:11.4], normal) (push) Has been cancelled
vm2-ci / vm2-ci (gcc, map[name:solaris version:11.4], strict) (push) Has been cancelled
windows-ci / windows-ci (bcc, x86, normal) (push) Has been cancelled
windows-ci / windows-ci (bcc, x86, strict) (push) Has been cancelled
windows-ci / windows-ci (clang, x86_64, normal) (push) Has been cancelled
windows-ci / windows-ci (clang, x86_64, strict) (push) Has been cancelled
vm1-ci / vm1-ci (clang, map[name:freebsd version:14.2], strict) (push) Has been cancelled
vm1-ci / vm1-ci (clang, map[name:netbsd version:10.0], normal) (push) Has been cancelled
vm1-ci / vm1-ci (clang, map[name:netbsd version:10.0], strict) (push) Has been cancelled
vm1-ci / vm1-ci (clang, map[name:openbsd version:7.6], normal) (push) Has been cancelled
vm1-ci / vm1-ci (clang, map[name:openbsd version:7.6], strict) (push) Has been cancelled
vm1-ci / vm1-ci (gcc, map[name:freebsd version:14.2], normal) (push) Has been cancelled
vm1-ci / vm1-ci (gcc, map[name:freebsd version:14.2], strict) (push) Has been cancelled
vm1-ci / vm1-ci (gcc, map[name:netbsd version:10.0], normal) (push) Has been cancelled
vm1-ci / vm1-ci (gcc, map[name:netbsd version:10.0], strict) (push) Has been cancelled
vm1-ci / vm1-ci (gcc, map[name:openbsd version:7.6], normal) (push) Has been cancelled
vm1-ci / vm1-ci (gcc, map[name:openbsd version:7.6], strict) (push) Has been cancelled
vm2-ci / vm2-ci (clang, map[name:freebsd version:14.0], normal) (push) Has been cancelled
vm2-ci / vm2-ci (clang, map[name:freebsd version:14.0], strict) (push) Has been cancelled
vm2-ci / vm2-ci (clang, map[name:omnios version:r151046], normal) (push) Has been cancelled
vm2-ci / vm2-ci (clang, map[name:omnios version:r151046], strict) (push) Has been cancelled
vm2-ci / vm2-ci (clang, map[name:solaris version:11.4], normal) (push) Has been cancelled
vm2-ci / vm2-ci (clang, map[name:solaris version:11.4], strict) (push) Has been cancelled
vm2-ci / vm2-ci (gcc, map[name:freebsd version:14.0], normal) (push) Has been cancelled
windows-ci / windows-ci (mingw64, x86, normal) (push) Has been cancelled
windows-ci / windows-ci (mingw64, x86, strict) (push) Has been cancelled
windows-ci / windows-ci (mingw64, x86_64, normal) (push) Has been cancelled
windows-ci / windows-ci (mingw64, x86_64, strict) (push) Has been cancelled

* contrib/hbssl/d2i.c
  * contrib/hbssl/hbssl.hbx
    * added new PRG function which converts ASN.1 DER SEQUENCE (RFC 3279) to
      IEEE P1363 Fixed Field Concatenation ( R || S ):
         D2I_ECDSA_SIG_RS( <cSigDER> ) -> <cSigRS>

  * src/rtl/vfile.c
    * comment formatting
This commit is contained in:
Przemysław Czerpak
2025-12-23 00:42:26 +01:00
parent 1b7295c81b
commit 7c7d7d67ce
4 changed files with 42 additions and 1 deletions

View File

@@ -7,6 +7,16 @@
Entries may not always be in chronological/commit order.
See license at the end of file. */
2025-12-23 00:42 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/d2i.c
* contrib/hbssl/hbssl.hbx
* added new PRG function which converts ASN.1 DER SEQUENCE (RFC 3279) to
IEEE P1363 Fixed Field Concatenation ( R || S ):
D2I_ECDSA_SIG_RS( <cSigDER> ) -> <cSigRS>
* src/rtl/vfile.c
* comment formatting
2025-12-21 12:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/x509.c
! fixed compilation with OpenSSL < 1.1

View File

@@ -99,3 +99,33 @@ HB_FUNC( D2I_X509 )
else
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
}
HB_FUNC( D2I_ECDSA_SIG_RS )
{
HB_SSL_CONST unsigned char * pszSigDer = ( HB_SSL_CONST unsigned char * ) hb_parc( 1 );
if( pszSigDer )
{
#define EC_P256_LEN 32
unsigned char rawsig[ EC_P256_LEN * 2 ];
HB_SIZE len = 0;
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
ECDSA_SIG * sig = d2i_ECDSA_SIG( NULL, &pszSigDer, ( long ) hb_parclen( 1 ) );
if( sig )
{
const BIGNUM *r, *s;
ECDSA_SIG_get0(sig, &r, &s);
if( BN_bn2binpad( r, rawsig, EC_P256_LEN ) == EC_P256_LEN &&
BN_bn2binpad( s, rawsig + EC_P256_LEN, EC_P256_LEN ) == EC_P256_LEN )
len = EC_P256_LEN * 2;
ECDSA_SIG_free( sig );
}
#endif
hb_retclen( ( const char * ) rawsig, len );
}
else
hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
}

View File

@@ -72,6 +72,7 @@ DYNAMIC BIO_tell
DYNAMIC BIO_test_flags
DYNAMIC BIO_vfree
DYNAMIC BIO_write
DYNAMIC D2I_ECDSA_SIG_RS
DYNAMIC D2I_PUBKEY
DYNAMIC D2I_RSAPUBLICKEY
DYNAMIC D2I_X509

View File

@@ -918,7 +918,7 @@ HB_FUNC( HB_VFLOAD )
hb_errRT_BASE_SubstR( EG_ARG, 2021, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
}
/* hb_vfSave( <cFileName>, <cFileBody> ) --> <lOK> */
/* hb_vfSave( <cFileName>, <cFileBody> ) --> <lOK> */
HB_FUNC( HB_VFSAVE )
{
const char * pszFileName = hb_parc( 1 );