MCPcopy Index your code
hub / github.com/smallstep/cli / convertToDER

Function convertToDER

command/crypto/key/format.go:369–391  ·  view source on GitHub ↗
(ctx *cli.Context, key interface{})

Source from the content-addressed store, hash-verified

367}
368
369func convertToDER(ctx *cli.Context, key interface{}) (b []byte, err error) {
370 switch k := key.(type) {
371 case *rsa.PrivateKey:
372 if ctx.Bool("pkcs8") {
373 b, err = x509.MarshalPKCS8PrivateKey(key)
374 } else {
375 b = x509.MarshalPKCS1PrivateKey(k)
376 }
377 case *ecdsa.PrivateKey:
378 if ctx.Bool("pkcs8") {
379 b, err = x509.MarshalPKCS8PrivateKey(key)
380 } else {
381 b, err = x509.MarshalECPrivateKey(k)
382 }
383 case ed25519.PrivateKey: // always PKCS#8
384 b, err = x509.MarshalPKCS8PrivateKey(key)
385 case *ecdsa.PublicKey, *rsa.PublicKey, ed25519.PublicKey: // always PKIX
386 b, err = x509.MarshalPKIXPublicKey(key)
387 default:
388 return nil, errors.Errorf("unsupported key type %T", key)
389 }
390 return
391}
392
393func convertToSSH(ctx *cli.Context, key interface{}) ([]byte, error) {
394 switch key.(type) {

Callers 1

formatActionFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…