strings.ToUpper() for x509 and pgp fingerprints

master
Matthew 2021-07-04 19:13:24 -04:00
parent 50402ded76
commit 8c27393d8f
No known key found for this signature in database
GPG Key ID: 210AF32ADE3B5C4B
2 changed files with 19 additions and 17 deletions

View File

@ -5,6 +5,7 @@ import (
"crypto/rsa"
"encoding/hex"
"net/http"
"strings"
"time"
"golang.org/x/crypto/openpgp"
@ -69,20 +70,20 @@ func GetOpenPGPInformationEncoded(c *gin.Context) {
switch entity.PrimaryKey.PubKeyAlgo {
case packet.PubKeyAlgoECDSA:
if ecdsaKey, ok := entity.PrimaryKey.PublicKey.(*ecdsa.PublicKey); ok {
bitLength = ecdsaKey.Params().BitSize
} else {
panic("expected ecdsa.PublicKey for type packet.PubKeyAlgoECDSA")
}
case packet.PubKeyAlgoRSA:
if rsaKey, ok := entity.PrimaryKey.PublicKey.(*rsa.PublicKey); ok {
bitLength = rsaKey.N.BitLen()
} else {
panic("expected rsa.PublicKey for type packet.PubKeyAlgoRSA")
}
default:
val, _ := entity.PrimaryKey.BitLength()
bitLength = int(val)
if ecdsaKey, ok := entity.PrimaryKey.PublicKey.(*ecdsa.PublicKey); ok {
bitLength = ecdsaKey.Params().BitSize
} else {
panic("expected ecdsa.PublicKey for type packet.PubKeyAlgoECDSA")
}
case packet.PubKeyAlgoRSA:
if rsaKey, ok := entity.PrimaryKey.PublicKey.(*rsa.PublicKey); ok {
bitLength = rsaKey.N.BitLen()
} else {
panic("expected rsa.PublicKey for type packet.PubKeyAlgoRSA")
}
default:
val, _ := entity.PrimaryKey.BitLength()
bitLength = int(val)
}
c.JSON(http.StatusOK, gin.H{
@ -93,8 +94,8 @@ func GetOpenPGPInformationEncoded(c *gin.Context) {
"email": key.Email,
"creationTime": key.CreationTime,
"publicKeyAlgorithm": key.PublicKeyAlgorithm,
"fingerprint": hex.EncodeToString(key.Fingerprint[:]),
"fingerprint": strings.ToUpper(hex.EncodeToString(key.Fingerprint[:])),
"keyID": entity.PrimaryKey.KeyIdString(),
"bitLength": bitLength,
"bitLength": bitLength,
})
}

View File

@ -11,6 +11,7 @@ import (
"encoding/pem"
"io/ioutil"
"net/http"
"strings"
"github.com/gin-gonic/gin"
)
@ -179,7 +180,7 @@ func GetCertificateInformationEncoded(c *gin.Context) {
"extendedKeyUsageAsText": extendedKeyUsagesText,
"san": certificate.DNSNames,
"emailAddresses": certificate.EmailAddresses,
"fingerprint": hex.EncodeToString(sum[:]),
"fingerprint": strings.ToUpper(hex.EncodeToString(sum[:])),
"bitLength": bitLength,
"pem": string(pem.EncodeToMemory(block)),
})