From 8e98fc5a9f9cfd937aeb828e299d6bf38cb8114e Mon Sep 17 00:00:00 2001 From: SLingyu <92803447+FoeverA0@users.noreply.github.com> Date: Sat, 23 Jul 2022 09:40:51 +0800 Subject: [PATCH] feat: rename all publicKey occurrences to certificate (#894) * fix:The certs page is displayed incorrectly * Translations for each language are added * Replace the variables certificat with Certificat with certificate and Certificate * Replace the variables certificat with Certificat with certificate and Certificate * Variable names are more accurate * Variable names are more accurate * Modify the variable name --- init_data.json.template | 2 +- object/cert.go | 8 ++++---- object/init.go | 4 ++-- object/oidc_discovery.go | 2 +- object/product_test.go | 2 +- object/provider.go | 2 +- object/saml_idp.go | 18 +++++++++--------- object/token_cas.go | 6 +++--- object/token_jwt.go | 6 +++--- object/token_jwt_key_test.go | 6 +++--- pp/alipay.go | 4 ++-- pp/provider.go | 4 ++-- swagger/swagger.json | 2 +- swagger/swagger.yml | 2 +- web/src/CertEditPage.js | 16 ++++++++-------- web/src/CertListPage.js | 2 +- web/src/ProviderEditPage.js | 2 +- web/src/auth/LoginPage.js | 6 +++--- web/src/backend/UserWebauthnBackend.js | 12 ++++++------ web/src/locales/de/data.json | 12 ++++++------ web/src/locales/en/data.json | 12 ++++++------ web/src/locales/fr/data.json | 14 +++++++------- web/src/locales/ja/data.json | 12 ++++++------ web/src/locales/ko/data.json | 12 ++++++------ web/src/locales/ru/data.json | 12 ++++++------ web/src/locales/zh/data.json | 12 ++++++------ 26 files changed, 96 insertions(+), 96 deletions(-) diff --git a/init_data.json.template b/init_data.json.template index 1c8f9c86..472dfd5c 100644 --- a/init_data.json.template +++ b/init_data.json.template @@ -139,7 +139,7 @@ "cryptoAlgorithm": "RS256", "bitSize": 4096, "expireInYears": 20, - "publicKey": "", + "certificate": "", "privateKey": "" } ], diff --git a/object/cert.go b/object/cert.go index 126f7762..573d0dbe 100644 --- a/object/cert.go +++ b/object/cert.go @@ -33,7 +33,7 @@ type Cert struct { BitSize int `json:"bitSize"` ExpireInYears int `json:"expireInYears"` - PublicKey string `xorm:"mediumtext" json:"publicKey"` + Certificate string `xorm:"mediumtext" json:"certificate"` PrivateKey string `xorm:"mediumtext" json:"privateKey"` AuthorityPublicKey string `xorm:"mediumtext" json:"authorityPublicKey"` AuthorityRootPublicKey string `xorm:"mediumtext" json:"authorityRootPublicKey"` @@ -123,9 +123,9 @@ func UpdateCert(id string, cert *Cert) bool { } func AddCert(cert *Cert) bool { - if cert.PublicKey == "" || cert.PrivateKey == "" { - publicKey, privateKey := generateRsaKeys(cert.BitSize, cert.ExpireInYears, cert.Name, cert.Owner) - cert.PublicKey = publicKey + if cert.Certificate == "" || cert.PrivateKey == "" { + certificate, privateKey := generateRsaKeys(cert.BitSize, cert.ExpireInYears, cert.Name, cert.Owner) + cert.Certificate = certificate cert.PrivateKey = privateKey } diff --git a/object/init.go b/object/init.go index 1e25acd7..373ba5b8 100644 --- a/object/init.go +++ b/object/init.go @@ -167,7 +167,7 @@ func readTokenFromFile() (string, string) { } func initBuiltInCert() { - tokenJwtPublicKey, tokenJwtPrivateKey := readTokenFromFile() + tokenJwtCertificate, tokenJwtPrivateKey := readTokenFromFile() cert := getCert("admin", "cert-built-in") if cert != nil { return @@ -183,7 +183,7 @@ func initBuiltInCert() { CryptoAlgorithm: "RS256", BitSize: 4096, ExpireInYears: 20, - PublicKey: tokenJwtPublicKey, + Certificate: tokenJwtCertificate, PrivateKey: tokenJwtPrivateKey, } AddCert(cert) diff --git a/object/oidc_discovery.go b/object/oidc_discovery.go index cf709425..b9f2d54e 100644 --- a/object/oidc_discovery.go +++ b/object/oidc_discovery.go @@ -97,7 +97,7 @@ func GetJsonWebKeySet() (jose.JSONWebKeySet, error) { //link here: https://self-issued.info/docs/draft-ietf-jose-json-web-key.html //or https://datatracker.ietf.org/doc/html/draft-ietf-jose-json-web-key for _, cert := range certs { - certPemBlock := []byte(cert.PublicKey) + certPemBlock := []byte(cert.Certificate) certDerBlock, _ := pem.Decode(certPemBlock) x509Cert, _ := x509.ParseCertificate(certDerBlock.Bytes) diff --git a/object/product_test.go b/object/product_test.go index 2407bf37..850e8da3 100644 --- a/object/product_test.go +++ b/object/product_test.go @@ -30,7 +30,7 @@ func TestProduct(t *testing.T) { product := GetProduct("admin/product_123") provider := getProvider(product.Owner, "provider_pay_alipay") cert := getCert(product.Owner, "cert-pay-alipay") - pProvider := pp.GetPaymentProvider(provider.Type, provider.ClientId, provider.ClientSecret, provider.Host, cert.PublicKey, cert.PrivateKey, cert.AuthorityPublicKey, cert.AuthorityRootPublicKey) + pProvider := pp.GetPaymentProvider(provider.Type, provider.ClientId, provider.ClientSecret, provider.Host, cert.Certificate, cert.PrivateKey, cert.AuthorityPublicKey, cert.AuthorityRootPublicKey) paymentName := util.GenerateTimeId() returnUrl := "" diff --git a/object/provider.go b/object/provider.go index 845dcd7a..de47d36d 100644 --- a/object/provider.go +++ b/object/provider.go @@ -214,7 +214,7 @@ func (p *Provider) getPaymentProvider() (pp.PaymentProvider, *Cert, error) { } } - pProvider := pp.GetPaymentProvider(p.Type, p.ClientId, p.ClientSecret, p.Host, cert.PublicKey, cert.PrivateKey, cert.AuthorityPublicKey, cert.AuthorityRootPublicKey) + pProvider := pp.GetPaymentProvider(p.Type, p.ClientId, p.ClientSecret, p.Host, cert.Certificate, cert.PrivateKey, cert.AuthorityPublicKey, cert.AuthorityRootPublicKey) if pProvider == nil { return nil, cert, fmt.Errorf("the payment provider type: %s is not supported", p.Type) } diff --git a/object/saml_idp.go b/object/saml_idp.go index 10fbf443..3b276c14 100644 --- a/object/saml_idp.go +++ b/object/saml_idp.go @@ -36,7 +36,7 @@ import ( ) //returns a saml2 response -func NewSamlResponse(user *User, host string, publicKey string, destination string, iss string, requestId string, redirectUri []string) (*etree.Element, error) { +func NewSamlResponse(user *User, host string, certificate string, destination string, iss string, requestId string, redirectUri []string) (*etree.Element, error) { samlResponse := &etree.Element{ Space: "samlp", Tag: "Response", @@ -177,8 +177,8 @@ type Attribute struct { func GetSamlMeta(application *Application, host string) (*IdpEntityDescriptor, error) { //_, originBackend := getOriginFromHost(host) cert := getCertByApplication(application) - block, _ := pem.Decode([]byte(cert.PublicKey)) - publicKey := base64.StdEncoding.EncodeToString(block.Bytes) + block, _ := pem.Decode([]byte(cert.Certificate)) + certificate := base64.StdEncoding.EncodeToString(block.Bytes) origin := beego.AppConfig.String("origin") originFrontend, originBackend := getOriginFromHost(host) @@ -199,7 +199,7 @@ func GetSamlMeta(application *Application, host string) (*IdpEntityDescriptor, e KeyInfo: KeyInfo{ X509Data: X509Data{ X509Certificate: X509Certificate{ - Cert: publicKey, + Cert: certificate, }, }, }, @@ -248,18 +248,18 @@ func GetSamlResponse(application *Application, user *User, samlRequest string, h return "", "", fmt.Errorf("err: invalid issuer url") } - // get public key string + // get certificate string cert := getCertByApplication(application) - block, _ := pem.Decode([]byte(cert.PublicKey)) - publicKey := base64.StdEncoding.EncodeToString(block.Bytes) + block, _ := pem.Decode([]byte(cert.Certificate)) + certificate := base64.StdEncoding.EncodeToString(block.Bytes) _, originBackend := getOriginFromHost(host) // build signedResponse - samlResponse, _ := NewSamlResponse(user, originBackend, publicKey, authnRequest.AssertionConsumerServiceURL, authnRequest.Issuer.Url, authnRequest.ID, application.RedirectUris) + samlResponse, _ := NewSamlResponse(user, originBackend, certificate, authnRequest.AssertionConsumerServiceURL, authnRequest.Issuer.Url, authnRequest.ID, application.RedirectUris) randomKeyStore := &X509Key{ PrivateKey: cert.PrivateKey, - X509Certificate: publicKey, + X509Certificate: certificate, } ctx := dsig.NewDefaultSigningContext(randomKeyStore) ctx.Hash = crypto.SHA1 diff --git a/object/token_cas.go b/object/token_cas.go index 048fcf14..04b9a48c 100644 --- a/object/token_cas.go +++ b/object/token_cas.go @@ -241,11 +241,11 @@ func GetValidationBySaml(samlRequest string, host string) (string, string, error samlResponse := NewSamlResponse11(user, request.RequestID, host) cert := getCertByApplication(application) - block, _ := pem.Decode([]byte(cert.PublicKey)) - publicKey := base64.StdEncoding.EncodeToString(block.Bytes) + block, _ := pem.Decode([]byte(cert.Certificate)) + certificate := base64.StdEncoding.EncodeToString(block.Bytes) randomKeyStore := &X509Key{ PrivateKey: cert.PrivateKey, - X509Certificate: publicKey, + X509Certificate: certificate, } ctx := dsig.NewDefaultSigningContext(randomKeyStore) diff --git a/object/token_jwt.go b/object/token_jwt.go index 7fe0e752..d566c1ce 100644 --- a/object/token_jwt.go +++ b/object/token_jwt.go @@ -129,13 +129,13 @@ func ParseJwtToken(token string, cert *Cert) (*Claims, error) { return nil, fmt.Errorf("unexpected signing method: %v", token.Header["alg"]) } - // RSA public key - publicKey, err := jwt.ParseRSAPublicKeyFromPEM([]byte(cert.PublicKey)) + // RSA certificate + certificate, err := jwt.ParseRSAPublicKeyFromPEM([]byte(cert.Certificate)) if err != nil { return nil, err } - return publicKey, nil + return certificate, nil }) if t != nil { diff --git a/object/token_jwt_key_test.go b/object/token_jwt_key_test.go index 6f0c6bab..00b1e571 100644 --- a/object/token_jwt_key_test.go +++ b/object/token_jwt_key_test.go @@ -23,10 +23,10 @@ import ( func TestGenerateRsaKeys(t *testing.T) { fileId := "token_jwt_key" - publicKey, privateKey := generateRsaKeys(4096, 20, "Casdoor Cert", "Casdoor Organization") + certificate, privateKey := generateRsaKeys(4096, 20, "Casdoor Cert", "Casdoor Organization") - // Write certificate (aka public key) to file. - util.WriteStringToPath(publicKey, fmt.Sprintf("%s.pem", fileId)) + // Write certificate (aka certificate) to file. + util.WriteStringToPath(certificate, fmt.Sprintf("%s.pem", fileId)) // Write private key to file. util.WriteStringToPath(privateKey, fmt.Sprintf("%s.key", fileId)) diff --git a/pp/alipay.go b/pp/alipay.go index 3da45992..05b3b2f1 100644 --- a/pp/alipay.go +++ b/pp/alipay.go @@ -28,7 +28,7 @@ type AlipayPaymentProvider struct { Client *alipay.Client } -func NewAlipayPaymentProvider(appId string, appPublicKey string, appPrivateKey string, authorityPublicKey string, authorityRootPublicKey string) *AlipayPaymentProvider { +func NewAlipayPaymentProvider(appId string, appCertificate string, appPrivateKey string, authorityPublicKey string, authorityRootPublicKey string) *AlipayPaymentProvider { pp := &AlipayPaymentProvider{} client, err := alipay.NewClient(appId, appPrivateKey, true) @@ -36,7 +36,7 @@ func NewAlipayPaymentProvider(appId string, appPublicKey string, appPrivateKey s panic(err) } - err = client.SetCertSnByContent([]byte(appPublicKey), []byte(authorityRootPublicKey), []byte(authorityPublicKey)) + err = client.SetCertSnByContent([]byte(appCertificate), []byte(authorityRootPublicKey), []byte(authorityPublicKey)) if err != nil { panic(err) } diff --git a/pp/provider.go b/pp/provider.go index 5c238f4a..a57081b7 100644 --- a/pp/provider.go +++ b/pp/provider.go @@ -22,9 +22,9 @@ type PaymentProvider interface { GetInvoice(paymentName string, personName string, personIdCard string, personEmail string, personPhone string, invoiceType string, invoiceTitle string, invoiceTaxId string) (string, error) } -func GetPaymentProvider(typ string, appId string, clientSecret string, host string, appPublicKey string, appPrivateKey string, authorityPublicKey string, authorityRootPublicKey string) PaymentProvider { +func GetPaymentProvider(typ string, appId string, clientSecret string, host string, appCertificate string, appPrivateKey string, authorityPublicKey string, authorityRootPublicKey string) PaymentProvider { if typ == "Alipay" { - return NewAlipayPaymentProvider(appId, appPublicKey, appPrivateKey, authorityPublicKey, authorityRootPublicKey) + return NewAlipayPaymentProvider(appId, appCertificate, appPrivateKey, authorityPublicKey, authorityRootPublicKey) } else if typ == "GC" { return NewGcPaymentProvider(appId, clientSecret, host) } diff --git a/swagger/swagger.json b/swagger/swagger.json index 301f4b40..dea3179e 100644 --- a/swagger/swagger.json +++ b/swagger/swagger.json @@ -3571,7 +3571,7 @@ "privateKey": { "type": "string" }, - "publicKey": { + "certificate": { "type": "string" }, "scope": { diff --git a/swagger/swagger.yml b/swagger/swagger.yml index 1fcc869f..875ef073 100644 --- a/swagger/swagger.yml +++ b/swagger/swagger.yml @@ -2346,7 +2346,7 @@ definitions: type: string privateKey: type: string - publicKey: + certificate: type: string scope: type: string diff --git a/web/src/CertEditPage.js b/web/src/CertEditPage.js index d34d5d3a..d2910a68 100644 --- a/web/src/CertEditPage.js +++ b/web/src/CertEditPage.js @@ -164,25 +164,25 @@ class CertEditPage extends React.Component { - {Setting.getLabel(i18next.t("cert:Public key"), i18next.t("cert:Public key - Tooltip"))} : + {Setting.getLabel(i18next.t("cert:Certificate"), i18next.t("cert:Certificate - Tooltip"))} : -