在应用中为了数据安全,在采用RSA加密时就要用到公私钥,那么在mac下怎么生成公私钥呢?网上资料一大堆,在这里也只是记录一下,备忘,以方便查阅。
很方便的是,mac自带openssl,一切的操作只需要在终端即可完成:
1、打开终端Terminal,然后cd 到指定文件夹(比如desktop/test),建立这个文件夹的目的是为了存放一会生成的公私钥,当然不建立文件夹或者直接在桌面等地方直接进行接下来的操作也可以。
2、打开openssl:执行$openssl操作($符号不要复制)
3、生成私钥:genrsa -out rsa_private_key.pem 2048,终端中会如下显示:
4、把RSA私钥转换成PKCS8格式:pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt
会提示让你输入密码,默认无密码,直接敲回车(敲两次回车才行),效果如下:
5、然会终端会出现下面这一堆东西,就是私钥了:
6、继续,生成公钥: rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
执行这一步后,在终端并看不到公钥,会显示如下:
直到这一步,公私钥就完全生成了,不过先别兴奋,还有工作得做,否则就前功尽弃了。终端我们现在用不到了,可以直接关掉就行,然后找到打开我们创建的文件夹(没有创建的话就到相应的地方去找),会发现公私钥已经老老实实在里面躺着了,但是当我们尝试打开的时候出现了问题,系统并不支持我们打开这样的文件,然并卵?这可难不倒我们强大的程序猿,选中文件--重命名---修改为text文件,保存,再次打开,哦了。然后还有一点需要我们去处理:要把生成的公私钥里面的杂七杂八的东西全都剔除掉,哪些东西是杂七杂八的呢?来了:空格、换行、--、以及标识公私钥开头和结尾的一些字符全都去掉,需要注意的是换行符去除的时候有点小麻烦,得逐行去删。
这就完成了,最后把我删后的私钥截图给粘上:
PS:那些可不是换行!