mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 13:12:25 -05:00 
			
		
		
		
	update oauth library -> v4.3.1-SSB
Signed-off-by: kim (grufwub) <grufwub@gmail.com>
This commit is contained in:
		
					parent
					
						
							
								2b14b20802
							
						
					
				
			
			
				commit
				
					
						fce3ba6382
					
				
			
		
					 32 changed files with 1019 additions and 714 deletions
				
			
		
							
								
								
									
										69
									
								
								vendor/github.com/golang-jwt/jwt/ecdsa_utils.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								vendor/github.com/golang-jwt/jwt/ecdsa_utils.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,69 @@ | |||
| package jwt | ||||
| 
 | ||||
| import ( | ||||
| 	"crypto/ecdsa" | ||||
| 	"crypto/x509" | ||||
| 	"encoding/pem" | ||||
| 	"errors" | ||||
| ) | ||||
| 
 | ||||
| var ( | ||||
| 	ErrNotECPublicKey  = errors.New("Key is not a valid ECDSA public key") | ||||
| 	ErrNotECPrivateKey = errors.New("Key is not a valid ECDSA private key") | ||||
| ) | ||||
| 
 | ||||
| // Parse PEM encoded Elliptic Curve Private Key Structure | ||||
| func ParseECPrivateKeyFromPEM(key []byte) (*ecdsa.PrivateKey, error) { | ||||
| 	var err error | ||||
| 
 | ||||
| 	// Parse PEM block | ||||
| 	var block *pem.Block | ||||
| 	if block, _ = pem.Decode(key); block == nil { | ||||
| 		return nil, ErrKeyMustBePEMEncoded | ||||
| 	} | ||||
| 
 | ||||
| 	// Parse the key | ||||
| 	var parsedKey interface{} | ||||
| 	if parsedKey, err = x509.ParseECPrivateKey(block.Bytes); err != nil { | ||||
| 		if parsedKey, err = x509.ParsePKCS8PrivateKey(block.Bytes); err != nil { | ||||
| 			return nil, err | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	var pkey *ecdsa.PrivateKey | ||||
| 	var ok bool | ||||
| 	if pkey, ok = parsedKey.(*ecdsa.PrivateKey); !ok { | ||||
| 		return nil, ErrNotECPrivateKey | ||||
| 	} | ||||
| 
 | ||||
| 	return pkey, nil | ||||
| } | ||||
| 
 | ||||
| // Parse PEM encoded PKCS1 or PKCS8 public key | ||||
| func ParseECPublicKeyFromPEM(key []byte) (*ecdsa.PublicKey, error) { | ||||
| 	var err error | ||||
| 
 | ||||
| 	// Parse PEM block | ||||
| 	var block *pem.Block | ||||
| 	if block, _ = pem.Decode(key); block == nil { | ||||
| 		return nil, ErrKeyMustBePEMEncoded | ||||
| 	} | ||||
| 
 | ||||
| 	// Parse the key | ||||
| 	var parsedKey interface{} | ||||
| 	if parsedKey, err = x509.ParsePKIXPublicKey(block.Bytes); err != nil { | ||||
| 		if cert, err := x509.ParseCertificate(block.Bytes); err == nil { | ||||
| 			parsedKey = cert.PublicKey | ||||
| 		} else { | ||||
| 			return nil, err | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	var pkey *ecdsa.PublicKey | ||||
| 	var ok bool | ||||
| 	if pkey, ok = parsedKey.(*ecdsa.PublicKey); !ok { | ||||
| 		return nil, ErrNotECPublicKey | ||||
| 	} | ||||
| 
 | ||||
| 	return pkey, nil | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue