mirror of
https://github.com/go-i2p/go-i2p.git
synced 2025-07-18 18:44:30 -04:00
fix padding + fail on invalid padding instead of warn.
This commit is contained in:
@@ -2,7 +2,6 @@
|
||||
package keys_and_cert
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
@@ -220,15 +219,18 @@ func NewKeysAndCert(
|
||||
log.WithFields(logrus.Fields{
|
||||
"expected_size": expectedPaddingSize,
|
||||
"actual_size": len(padding),
|
||||
}).Warn("Invalid padding size")
|
||||
}).Error("Invalid padding size")
|
||||
return nil, fmt.Errorf("Invalid padding size")
|
||||
/*
|
||||
// Generate random padding if invalid or missing
|
||||
padding = make([]byte, expectedPaddingSize)
|
||||
if _, err := rand.Read(padding); err != nil {
|
||||
log.WithError(err).Error("Failed to generate random padding")
|
||||
return nil, err
|
||||
}
|
||||
log.Debug("Generated random padding")
|
||||
|
||||
// Generate random padding if invalid or missing
|
||||
padding = make([]byte, expectedPaddingSize)
|
||||
if _, err := rand.Read(padding); err != nil {
|
||||
log.WithError(err).Error("Failed to generate random padding")
|
||||
return nil, err
|
||||
}
|
||||
log.Debug("Generated random padding")
|
||||
*/
|
||||
}
|
||||
|
||||
keysAndCert := &KeysAndCert{
|
||||
|
@@ -4,6 +4,8 @@ import (
|
||||
"bytes"
|
||||
"crypto/rand"
|
||||
"encoding/binary"
|
||||
"github.com/go-i2p/go-i2p/lib/common/key_certificate"
|
||||
"github.com/go-i2p/go-i2p/lib/common/keys_and_cert"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@@ -95,8 +97,17 @@ func TestCreateRouterInfo(t *testing.T) {
|
||||
certBytes := cert.Bytes()
|
||||
t.Logf("Serialized Certificate Size: %d bytes", len(certBytes))
|
||||
|
||||
keyCert := key_certificate.KeyCertificateFromCertificate(*cert)
|
||||
pubKeySize := keyCert.CryptoSize()
|
||||
sigKeySize := keyCert.SignatureSize()
|
||||
expectedPaddingSize := keys_and_cert.KEYS_AND_CERT_DATA_SIZE - pubKeySize - sigKeySize
|
||||
padding := make([]byte, expectedPaddingSize)
|
||||
_, err = rand.Read(padding)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to generate random padding: %v\n", err)
|
||||
}
|
||||
// Create RouterIdentity
|
||||
routerIdentity, err := router_identity.NewRouterIdentity(elg_pubkey, ed25519_pubkey, *cert, nil)
|
||||
routerIdentity, err := router_identity.NewRouterIdentity(elg_pubkey, ed25519_pubkey, *cert, padding)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to create router identity: %v\n", err)
|
||||
}
|
||||
|
Reference in New Issue
Block a user