Commit 2a26f580 authored by Andrew Benton's avatar Andrew Benton Committed by Brad Fitzpatrick

crypto/x509: rename and reposition rsaPublicKey struct declaration

For consistency with the other named types in this package, this
change renames the unexported rsaPublicKey struct to pkcs1PublicKey
and positions the declaration up with the other similarly-named
types in pkcs1.go.

See the final comment of #19355 for discussion.

Change-Id: I1fa0366a8efa01602b81bc69287ef747abce84f5
Reviewed-on: https://go-review.googlesource.com/37885Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent aeac77dc
...@@ -35,6 +35,12 @@ type pkcs1AdditionalRSAPrime struct { ...@@ -35,6 +35,12 @@ type pkcs1AdditionalRSAPrime struct {
Coeff *big.Int Coeff *big.Int
} }
// pkcs1PublicKey reflects the ASN.1 structure of a PKCS#1 public key.
type pkcs1PublicKey struct {
N *big.Int
E int
}
// ParsePKCS1PrivateKey returns an RSA private key from its ASN.1 PKCS#1 DER encoded form. // ParsePKCS1PrivateKey returns an RSA private key from its ASN.1 PKCS#1 DER encoded form.
func ParsePKCS1PrivateKey(der []byte) (*rsa.PrivateKey, error) { func ParsePKCS1PrivateKey(der []byte) (*rsa.PrivateKey, error) {
var priv pkcs1PrivateKey var priv pkcs1PrivateKey
...@@ -113,9 +119,3 @@ func MarshalPKCS1PrivateKey(key *rsa.PrivateKey) []byte { ...@@ -113,9 +119,3 @@ func MarshalPKCS1PrivateKey(key *rsa.PrivateKey) []byte {
b, _ := asn1.Marshal(priv) b, _ := asn1.Marshal(priv)
return b return b
} }
// rsaPublicKey reflects the ASN.1 structure of a PKCS#1 public key.
type rsaPublicKey struct {
N *big.Int
E int
}
...@@ -59,7 +59,7 @@ func ParsePKIXPublicKey(derBytes []byte) (pub interface{}, err error) { ...@@ -59,7 +59,7 @@ func ParsePKIXPublicKey(derBytes []byte) (pub interface{}, err error) {
func marshalPublicKey(pub interface{}) (publicKeyBytes []byte, publicKeyAlgorithm pkix.AlgorithmIdentifier, err error) { func marshalPublicKey(pub interface{}) (publicKeyBytes []byte, publicKeyAlgorithm pkix.AlgorithmIdentifier, err error) {
switch pub := pub.(type) { switch pub := pub.(type) {
case *rsa.PublicKey: case *rsa.PublicKey:
publicKeyBytes, err = asn1.Marshal(rsaPublicKey{ publicKeyBytes, err = asn1.Marshal(pkcs1PublicKey{
N: pub.N, N: pub.N,
E: pub.E, E: pub.E,
}) })
...@@ -941,7 +941,7 @@ func parsePublicKey(algo PublicKeyAlgorithm, keyData *publicKeyInfo) (interface{ ...@@ -941,7 +941,7 @@ func parsePublicKey(algo PublicKeyAlgorithm, keyData *publicKeyInfo) (interface{
return nil, errors.New("x509: RSA key missing NULL parameters") return nil, errors.New("x509: RSA key missing NULL parameters")
} }
p := new(rsaPublicKey) p := new(pkcs1PublicKey)
rest, err := asn1.Unmarshal(asn1Data, p) rest, err := asn1.Unmarshal(asn1Data, p)
if err != nil { if err != nil {
return nil, err return nil, err
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment