pemEncode function

String pemEncode(
  1. String label,
  2. List<int> der
)

Wraps der in a PEM -----BEGIN [label]----- block, the base64 body hard-wrapped at 64 columns (RFC 7468). The inverse of pemBytes.

Implementation

String pemEncode(String label, List<int> der) {
  final body = base64.encode(der);
  final lines = [
    for (var i = 0; i < body.length; i += 64)
      body.substring(i, i + 64 > body.length ? body.length : i + 64),
  ];
  return '-----BEGIN $label-----\n${lines.join('\n')}\n-----END $label-----\n';
}