(ctx *cli.Context, csr *x509.CertificateRequest, w io.Writer)
| 305 | } |
| 306 | |
| 307 | func inspectCertificateRequest(ctx *cli.Context, csr *x509.CertificateRequest, w io.Writer) error { |
| 308 | var err error |
| 309 | format, short := ctx.String("format"), ctx.Bool("short") |
| 310 | switch format { |
| 311 | case "text": |
| 312 | var text string |
| 313 | if short { |
| 314 | text, err = certinfo.CertificateRequestShortText(csr) |
| 315 | if err != nil { |
| 316 | return err |
| 317 | } |
| 318 | } else { |
| 319 | text, err = certinfo.CertificateRequestText(csr) |
| 320 | if err != nil { |
| 321 | return err |
| 322 | } |
| 323 | } |
| 324 | fmt.Fprint(w, text) |
| 325 | return nil |
| 326 | case "json": |
| 327 | zcsr, err := zx509.ParseCertificateRequest(csr.Raw) |
| 328 | if err != nil { |
| 329 | return errors.WithStack(err) |
| 330 | } |
| 331 | enc := json.NewEncoder(w) |
| 332 | enc.SetIndent("", " ") |
| 333 | if err := enc.Encode(zcsr); err != nil { |
| 334 | return errors.WithStack(err) |
| 335 | } |
| 336 | return nil |
| 337 | case "pem": |
| 338 | err := pem.Encode(w, &pem.Block{Type: "CERTIFICATE REQUEST", Bytes: csr.Raw}) |
| 339 | if err != nil { |
| 340 | return errors.WithStack(err) |
| 341 | } |
| 342 | return nil |
| 343 | default: |
| 344 | return errs.InvalidFlagValue(ctx, "format", format, "text, json") |
| 345 | } |
| 346 | } |
searching dependent graphs…