簡體   English   中英

如何在python中將base64 / radix64公鑰轉換為pem格式

[英]how to convert base64 /radix64 public key to a pem format in python

是否有任何python方法可將base64編碼的密鑰轉換為pem格式。

如何將ASCII裝甲的PGP公鑰轉換為MIME編碼形式。

謝謝

ASCII裝甲和PEM非常相似。 您只需要更改BEGIN / END標記,剝離PGP標頭和校驗和。 我以前在PHP中已經做到這一點。 我只是為您移植到Python,

import re
import StringIO

def pgp_pubkey_to_pem(pgp_key):
    # Normalise newlines
    pgp_key = re.compile('(\n|\r\n|\r)').sub('\n', pgp_key)

    # Extract block
    buffer = StringIO.StringIO()
    # Write PEM header
    buffer.write('-----BEGIN RSA PUBLIC KEY-----\n')

    in_block = 0
    in_body = 0
    for line in pgp_key.split('\n'):
        if line.startswith('-----BEGIN PGP PUBLIC KEY BLOCK-----'):
            in_block = 1
        elif in_block and line.strip() == '':
            in_body = 1
        elif in_block and line.startswith('-----END PGP PUBLIC KEY BLOCK-----'):
            # No checksum, ignored for now
            break
        elif in_body and line.startswith('='):
            # Checksum, end of the body
            break
        elif in_body:
            buffer.write(line+'\n')

    # Write PEM footer
    buffer.write('-----END RSA PUBLIC KEY-----\n')

    return buffer.getvalue()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM