(ctx *cli.Context, key interface{})
| 367 | } |
| 368 | |
| 369 | func 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 | |
| 393 | func convertToSSH(ctx *cli.Context, key interface{}) ([]byte, error) { |
| 394 | switch key.(type) { |
no outgoing calls
no test coverage detected
searching dependent graphs…