Golang crypto/x509.SignatureAlgorithm type example

package crypto/x509

Golang crypto/x509.SignatureAlgorithm type usage examples

 if err := x509.CheckSignature(cert.SignatureAlgorithm, cert.RawTBSCertificate, cert.Signature); err != nil {
 fmt.Println("Corrupted signature on embedded certificate")
 }

or

 switch {
 case x509Cert.SignatureAlgorithm == x509.MD2WithRSA:
 return "MD2WithRSA Algorithm"
 case x509Cert.SignatureAlgorithm == x509.MD5WithRSA:
 return "MD5WithRSA Algorithm"
 case x509Cert.SignatureAlgorithm == x509.SHA1WithRSA:
 return "SHA1WithRSA Algorithm"
 case x509Cert.SignatureAlgorithm == x509.SHA256WithRSA:
 return "SHA256WithRSA Algorithm"
 case x509Cert.SignatureAlgorithm == x509.SHA384WithRSA:
 return "SHA384WithRSA Algorithm"
 case x509Cert.SignatureAlgorithm == x509.SHA512WithRSA:
 return "SHA512WithRSA Algorithm"
 case x509Cert.SignatureAlgorithm == x509.DSAWithSHA1:
 return "DSAWithSHA1 Algorithm"
 case x509Cert.SignatureAlgorithm == x509.DSAWithSHA256:
 return "DSAWithSHA256 Algorithm"
 case x509Cert.SignatureAlgorithm == x509.ECDSAWithSHA1:
 return "ECDSAWithSHA1 Algorithm"
 case x509Cert.SignatureAlgorithm == x509.ECDSAWithSHA256:
 return "ECDSAWithSHA256 Algorithm"
 case x509Cert.SignatureAlgorithm == x509.ECDSAWithSHA384:
 return "ECDSAWithSHA384 Algorithm"
 case x509Cert.SignatureAlgorithm == x509.ECDSAWithSHA512:
 return "ECDSAWithSHA512 Algorithm"
 default:
 return "UnknownSignatureAlgorithm"
 }

Reference :

http://golang.org/pkg/crypto/x509/#SignatureAlgorithm

Advertisement