diff options
Diffstat (limited to 'rsa/pem.py')
-rw-r--r-- | rsa/pem.py | 19 |
1 files changed, 10 insertions, 9 deletions
@@ -14,15 +14,16 @@ # See the License for the specific language governing permissions and # limitations under the License. -'''Functions that load and write PEM-encoded files.''' +"""Functions that load and write PEM-encoded files.""" import base64 from rsa._compat import b, is_bytes + def _markers(pem_marker): - ''' + """ Returns the start and end PEM markers - ''' + """ if is_bytes(pem_marker): pem_marker = pem_marker.decode('utf-8') @@ -30,8 +31,9 @@ def _markers(pem_marker): return (b('-----BEGIN %s-----' % pem_marker), b('-----END %s-----' % pem_marker)) + def load_pem(contents, pem_marker): - '''Loads a PEM file. + """Loads a PEM file. @param contents: the contents of the file to interpret @param pem_marker: the marker of the PEM content, such as 'RSA PRIVATE KEY' @@ -43,7 +45,7 @@ def load_pem(contents, pem_marker): @raise ValueError: when the content is invalid, for example when the start marker cannot be found. - ''' + """ (pem_start, pem_end) = _markers(pem_marker) @@ -93,7 +95,7 @@ def load_pem(contents, pem_marker): def save_pem(contents, pem_marker): - '''Saves a PEM file. + """Saves a PEM file. @param contents: the contents to encode in PEM format @param pem_marker: the marker of the PEM content, such as 'RSA PRIVATE KEY' @@ -102,13 +104,13 @@ def save_pem(contents, pem_marker): @return the base64-encoded content between the start and end markers. - ''' + """ (pem_start, pem_end) = _markers(pem_marker) b64 = base64.standard_b64encode(contents).replace(b('\n'), b('')) pem_lines = [pem_start] - + for block_start in range(0, len(b64), 64): block = b64[block_start:block_start + 64] pem_lines.append(block) @@ -117,4 +119,3 @@ def save_pem(contents, pem_marker): pem_lines.append(b('')) return b('\n').join(pem_lines) - |