python脚本 通过rsa private key 生成 publickey
2013-07-08 20:55
316 查看
说明:蓝色=命令名称
浅绿=命令参数 浅蓝=选项 紫色=目录
系统环境:CentOS 5.5 x86_64 python版本:Python 2.7.3参考paramiko和pycrypto官方文档写了一个通过rsa private key生成 public key的工具,如下
浅绿=命令参数 浅蓝=选项 紫色=目录
系统环境:CentOS 5.5 x86_64 python版本:Python 2.7.3参考paramiko和pycrypto官方文档写了一个通过rsa private key生成 public key的工具,如下
#!/usr/bin/env python #-*- coding:utf-8 -*- #Author:left_left import struct import base64 import sys import os from optparse import OptionParser from Crypto.PublicKey import RSA def get_bin(n): s = '' n = long(n) while (n != 0) and (n != -1): s = struct.pack('>I', n & 0xffffffffL) + s n = n >> 32 for i in enumerate(s): if (n == 0) and (i[1] != '\000'): break if (n == -1) and (i[1] != '\xff'): break s = s[i[0]:] if (n == 0) and (ord(s[0]) >= 0x80): s = '\x00' + s if (n == -1) and (ord(s[0]) <0x80): s = '\xff' + s s = struct.pack(">I", len(s)) + s return s def parse(): p = OptionParser() p.set_usage("command [options] privatekey") p.add_option('-p', '--publickey', dest = 'publickey', default = './p.pub') #p.add_option('-v', '--private', dest = 'vf') p.add_option('-t', '--type', dest = 'type', default = 'ssh-rsa') return p def main(): p = parse() options, args = p.parse_args() try: vf = args[0] except IndexError: print "Please use '-h/--help' for help!" sys.exit(1) try: f = open(vf) except IOError, e: print e sys.exit(1) uf = options.publickey if os.path.exists(uf): print "%s is exists!" % uf sys.exit(1) try: k = RSA.importKey(f.read()) except ValueError, e: print e sys.exit(1) s = '' t = options.type l = len(t) s = struct.pack('>I%ss' % l, l, t) e = get_bin(k.e) n = get_bin(k.n) b = base64.b64encode(''.join((s, e, n))) try: of = open(uf, 'w') of.write("%s %s\n" % (t, b)) of.close() except IOError, e: print e sys.exit(1) if __name__ == "__main__": main()
相关文章推荐
- 两个实用的方法从Base64字符串生成RSAPublicKey及RSAPrivatekey
- python 小脚本 通过关键词在百度网盘 搜索 高清电影并生成html浏览
- 通过shell脚本生成C代码例程
- Oracle AWR 报告 每天自动生成并发送邮箱 Python脚本
- python 使用py2exe将python 脚本生成exe可执行文件
- 通过Python脚本理解系统进程间通信
- 用 Python脚本生成 Android SALT 扰码
- 用Python脚本生成Android SALT扰码的方法
- 通过Load table命令将数据文件加载到Sybase IQ数据库里面的Python脚本
- 转:通过ant来批量执行jmeter脚本,并生成报告(附: 生成报告时报“Content is not allowed in prolog”这个错误的解决方案)
- Python3 初学实践案例(5)可设定长度和密码复杂级别的生成密码脚本另一种思路
- tomcat配置https 通过.pem和.key生成keystore
- 基于python3的手机号生成脚本
- 利用python生成一个导出数据库的bat脚本文件
- Viz Trio 脚本(Script) 续篇-如何通过导入txt来自动生成串联单
- Python生成二维码脚本
- .NET 使用OpenSSL生成的pem文件做为RSA Key时的读取问题
- 拖动图片到 Python 脚本,自动生成 Markdown 格式链接
- [python]生成cscope符号索引文件的脚本
- 涛哥的Python脚本工具箱之生成带Logo的二维码