Files
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
0a33b10466 Bump the opentelemetry-collector group with 19 updates (#5097)
Bumps the opentelemetry-collector group with 19 updates:

| Package | From | To |
| --- | --- | --- |
| [go.opentelemetry.io/collector/component](https://github.com/open-telemetry/opentelemetry-collector) | `1.30.0` | `1.31.0` |
| [go.opentelemetry.io/collector/confmap](https://github.com/open-telemetry/opentelemetry-collector) | `1.30.0` | `1.31.0` |
| [go.opentelemetry.io/collector/consumer](https://github.com/open-telemetry/opentelemetry-collector) | `1.30.0` | `1.31.0` |
| [go.opentelemetry.io/collector/pdata](https://github.com/open-telemetry/opentelemetry-collector) | `1.30.0` | `1.31.0` |
| [go.opentelemetry.io/collector/client](https://github.com/open-telemetry/opentelemetry-collector) | `1.30.0` | `1.31.0` |
| [go.opentelemetry.io/collector/component/componenttest](https://github.com/open-telemetry/opentelemetry-collector) | `0.124.0` | `0.125.0` |
| [go.opentelemetry.io/collector/config/configgrpc](https://github.com/open-telemetry/opentelemetry-collector) | `0.124.0` | `0.125.0` |
| [go.opentelemetry.io/collector/config/confighttp](https://github.com/open-telemetry/opentelemetry-collector) | `0.124.0` | `0.125.0` |
| [go.opentelemetry.io/collector/config/configopaque](https://github.com/open-telemetry/opentelemetry-collector) | `1.30.0` | `1.31.0` |
| [go.opentelemetry.io/collector/config/configtls](https://github.com/open-telemetry/opentelemetry-collector) | `1.30.0` | `1.31.0` |
| [go.opentelemetry.io/collector/exporter](https://github.com/open-telemetry/opentelemetry-collector) | `0.124.0` | `0.125.0` |
| [go.opentelemetry.io/collector/exporter/exportertest](https://github.com/open-telemetry/opentelemetry-collector) | `0.124.0` | `0.125.0` |
| [go.opentelemetry.io/collector/exporter/otlpexporter](https://github.com/open-telemetry/opentelemetry-collector) | `0.124.0` | `0.125.0` |
| [go.opentelemetry.io/collector/exporter/otlphttpexporter](https://github.com/open-telemetry/opentelemetry-collector) | `0.124.0` | `0.125.0` |
| [go.opentelemetry.io/collector/otelcol](https://github.com/open-telemetry/opentelemetry-collector) | `0.124.0` | `0.125.0` |
| [go.opentelemetry.io/collector/pdata/testdata](https://github.com/open-telemetry/opentelemetry-collector) | `0.124.0` | `0.125.0` |
| [go.opentelemetry.io/collector/processor](https://github.com/open-telemetry/opentelemetry-collector) | `1.30.0` | `1.31.0` |
| [go.opentelemetry.io/collector/receiver](https://github.com/open-telemetry/opentelemetry-collector) | `1.30.0` | `1.31.0` |
| [go.opentelemetry.io/collector/receiver/otlpreceiver](https://github.com/open-telemetry/opentelemetry-collector) | `0.124.0` | `0.125.0` |


Updates `go.opentelemetry.io/collector/component` from 1.30.0 to 1.31.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/pdata/v1.30.0...pdata/v1.31.0)

Updates `go.opentelemetry.io/collector/confmap` from 1.30.0 to 1.31.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/pdata/v1.30.0...pdata/v1.31.0)

Updates `go.opentelemetry.io/collector/consumer` from 1.30.0 to 1.31.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/pdata/v1.30.0...pdata/v1.31.0)

Updates `go.opentelemetry.io/collector/pdata` from 1.30.0 to 1.31.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/pdata/v1.30.0...pdata/v1.31.0)

Updates `go.opentelemetry.io/collector/client` from 1.30.0 to 1.31.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/pdata/v1.30.0...pdata/v1.31.0)

Updates `go.opentelemetry.io/collector/component/componenttest` from 0.124.0 to 0.125.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.124.0...v0.125.0)

Updates `go.opentelemetry.io/collector/config/configgrpc` from 0.124.0 to 0.125.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.124.0...v0.125.0)

Updates `go.opentelemetry.io/collector/config/confighttp` from 0.124.0 to 0.125.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.124.0...v0.125.0)

Updates `go.opentelemetry.io/collector/config/configopaque` from 1.30.0 to 1.31.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/pdata/v1.30.0...pdata/v1.31.0)

Updates `go.opentelemetry.io/collector/config/configtls` from 1.30.0 to 1.31.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/pdata/v1.30.0...pdata/v1.31.0)

Updates `go.opentelemetry.io/collector/exporter` from 0.124.0 to 0.125.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.124.0...v0.125.0)

Updates `go.opentelemetry.io/collector/exporter/exportertest` from 0.124.0 to 0.125.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.124.0...v0.125.0)

Updates `go.opentelemetry.io/collector/exporter/otlpexporter` from 0.124.0 to 0.125.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.124.0...v0.125.0)

Updates `go.opentelemetry.io/collector/exporter/otlphttpexporter` from 0.124.0 to 0.125.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.124.0...v0.125.0)

Updates `go.opentelemetry.io/collector/otelcol` from 0.124.0 to 0.125.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.124.0...v0.125.0)

Updates `go.opentelemetry.io/collector/pdata/testdata` from 0.124.0 to 0.125.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.124.0...v0.125.0)

Updates `go.opentelemetry.io/collector/processor` from 1.30.0 to 1.31.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/pdata/v1.30.0...pdata/v1.31.0)

Updates `go.opentelemetry.io/collector/receiver` from 1.30.0 to 1.31.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/pdata/v1.30.0...pdata/v1.31.0)

Updates `go.opentelemetry.io/collector/receiver/otlpreceiver` from 0.124.0 to 0.125.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.124.0...v0.125.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/collector/component
  dependency-version: 1.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/confmap
  dependency-version: 1.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/consumer
  dependency-version: 1.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/pdata
  dependency-version: 1.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/client
  dependency-version: 1.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/component/componenttest
  dependency-version: 0.125.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/config/configgrpc
  dependency-version: 0.125.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/config/confighttp
  dependency-version: 0.125.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/config/configopaque
  dependency-version: 1.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/config/configtls
  dependency-version: 1.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/exporter
  dependency-version: 0.125.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/exporter/exportertest
  dependency-version: 0.125.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/exporter/otlpexporter
  dependency-version: 0.125.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/exporter/otlphttpexporter
  dependency-version: 0.125.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/otelcol
  dependency-version: 0.125.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/pdata/testdata
  dependency-version: 0.125.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/processor
  dependency-version: 1.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/receiver
  dependency-version: 1.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
- dependency-name: go.opentelemetry.io/collector/receiver/otlpreceiver
  dependency-version: 0.125.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry-collector
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-29 17:00:42 +02:00

136 lines
3.1 KiB
Go

package template
import (
"crypto"
"crypto/ecdsa"
"crypto/elliptic"
"crypto/rsa"
"fmt"
"math/big"
"github.com/google/go-tpm/tpm2"
)
func EcdsaToTPMTPublic(pubkey *ecdsa.PublicKey, sha tpm2.TPMAlgID) *tpm2.TPMTPublic {
var ecc tpm2.TPMECCCurve
switch pubkey.Curve {
case elliptic.P256():
ecc = tpm2.TPMECCNistP256
case elliptic.P384():
ecc = tpm2.TPMECCNistP384
case elliptic.P521():
ecc = tpm2.TPMECCNistP521
}
return &tpm2.TPMTPublic{
Type: tpm2.TPMAlgECC,
NameAlg: sha,
ObjectAttributes: tpm2.TPMAObject{
SignEncrypt: true,
UserWithAuth: true,
Decrypt: true,
},
Parameters: tpm2.NewTPMUPublicParms(
tpm2.TPMAlgECC,
&tpm2.TPMSECCParms{
CurveID: ecc,
Scheme: tpm2.TPMTECCScheme{
Scheme: tpm2.TPMAlgNull,
},
},
),
Unique: tpm2.NewTPMUPublicID(
tpm2.TPMAlgECC,
&tpm2.TPMSECCPoint{
X: tpm2.TPM2BECCParameter{
Buffer: pubkey.X.FillBytes(make([]byte, len(pubkey.X.Bytes()))),
},
Y: tpm2.TPM2BECCParameter{
Buffer: pubkey.Y.FillBytes(make([]byte, len(pubkey.Y.Bytes()))),
},
},
),
}
}
func RSAToTPMTPublic(pubkey *rsa.PublicKey, bits int) *tpm2.TPMTPublic {
return &tpm2.TPMTPublic{
Type: tpm2.TPMAlgRSA,
NameAlg: tpm2.TPMAlgSHA256,
ObjectAttributes: tpm2.TPMAObject{
SignEncrypt: true,
UserWithAuth: true,
Decrypt: true,
},
Parameters: tpm2.NewTPMUPublicParms(
tpm2.TPMAlgRSA,
&tpm2.TPMSRSAParms{
Scheme: tpm2.TPMTRSAScheme{
Scheme: tpm2.TPMAlgNull,
},
KeyBits: tpm2.TPMKeyBits(bits),
},
),
Unique: tpm2.NewTPMUPublicID(
tpm2.TPMAlgRSA,
&tpm2.TPM2BPublicKeyRSA{Buffer: pubkey.N.Bytes()},
),
}
}
func fromTPMPublicToECDSA(pub *tpm2.TPMTPublic) (*ecdsa.PublicKey, error) {
ecc, err := pub.Unique.ECC()
if err != nil {
return nil, err
}
eccdeets, err := pub.Parameters.ECCDetail()
if err != nil {
return nil, err
}
var ecdsaKey *ecdsa.PublicKey
switch eccdeets.CurveID {
case tpm2.TPMECCNistP256:
ecdsaKey = &ecdsa.PublicKey{Curve: elliptic.P256(),
X: big.NewInt(0).SetBytes(ecc.X.Buffer),
Y: big.NewInt(0).SetBytes(ecc.Y.Buffer),
}
case tpm2.TPMECCNistP384:
ecdsaKey = &ecdsa.PublicKey{Curve: elliptic.P384(),
X: big.NewInt(0).SetBytes(ecc.X.Buffer),
Y: big.NewInt(0).SetBytes(ecc.Y.Buffer),
}
case tpm2.TPMECCNistP521:
ecdsaKey = &ecdsa.PublicKey{Curve: elliptic.P521(),
X: big.NewInt(0).SetBytes(ecc.X.Buffer),
Y: big.NewInt(0).SetBytes(ecc.Y.Buffer),
}
}
return ecdsaKey, nil
}
func fromTPMPublicToRSA(pub *tpm2.TPMTPublic) (*rsa.PublicKey, error) {
rsaDetail, err := pub.Parameters.RSADetail()
if err != nil {
return nil, fmt.Errorf("failed getting rsa details: %v", err)
}
rsaUnique, err := pub.Unique.RSA()
if err != nil {
return nil, fmt.Errorf("failed getting unique rsa: %v", err)
}
return tpm2.RSAPub(rsaDetail, rsaUnique)
}
// FromTPMPublicToPubkey transform a tpm2.TPMTPublic to crypto.PublicKey
func FromTPMPublicToPubkey(pub *tpm2.TPMTPublic) (crypto.PublicKey, error) {
switch pub.Type {
case tpm2.TPMAlgECC:
return fromTPMPublicToECDSA(pub)
case tpm2.TPMAlgRSA:
return fromTPMPublicToRSA(pub)
}
return nil, fmt.Errorf("no a supported public key")
}