opensslで暗号化した秘密鍵を復号化する方法をご紹介します。
まずはAES256で暗号化した2024ビットの長さの鍵を作成します。
1 2 3 4 5 6 7 8 |
[root@kamatora ~]# openssl genrsa -aes256 2048 > rsa-aes256-2048.key Generating RSA private key, 2048 bit long modulus ...............................+++ ......................................+++ e is 65537 (0x10001) Enter pass phrase: Verifying - Enter pass phrase: [root@kamatora ~]# |
復号化してみます。
コマンドを実行すると「Enter pass phase:」のようにパスワードを要求されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
[root@kamatora ~]# openssl rsa < rsa-aes256-2048.key <span style="color: #ff0000;">Enter pass phrase:</span> writing RSA key -----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEA2m/SO+sqorNwo0Nz5kCaWTr66B80N3ab929i9XMMxYn1CcQR 7umIgFKHYQ6AaaQZDfN2t7jtnDX1xHDHx+pWqSPOYTlg76Oc7Oop/J+nTxofguOz Li9bIrFeYqgTEavLvskPVko0ijgZcnEW26Rm8phI9USGjT0SPoQynCTClB1AVCdN FTKMlksAxNu21lCn56f9QpNkow0zFAypA8jvR96SX0HwPMxT4jbwrPsqfovo3VLu M08Wox2yd8FgCrkBFW1mYk5yt/HYx0G6iPq1gJghhqPhiw6SVHFbEbIg9ao02SO1 GZoS1OXlPAaoH7/0nmlhOB5qC8yAoOIX/X5XRQIDAQABAoIBAQCmHI81vbpojCjG H0+N8+bsoGuaBdDBtNMasXwByAIYXrcXPCGfG70QSLJm3o5Mx9u9vj2zrVAUkPxa 7KEgqFZKvc3+JZJP6o41pEVVtVuYTfdUpC/omV6m3Vc3kzUdJRYF+gRNzJRz4AGK A/IsCbO4HJKu4fOoiJ7NJ98M2u+Vjdim9iRL1NbksAVfVmMFtPdk45LPqjpT4fV2 KnfMHbxHsdUp1alnE+ZxAh6AF1snVEw6t25DnCxJTPpK9Z5OrZQqpr8h1B2wwDPU zLyYw6cFxm6qWpC0NHA8pQaft3U2ODFYlS3FceMK+M3l8TmQRoG/GGTY1xkZgk/7 RCXMJw0BAoGBAPxkGnmWd/BGmfGcN/ZVvOZ2v2IU2Pr1tII9UTFbu4T7zyVUCGEw 1o3DLXLysKRUWkSA+5fH7du91wI9xG/oU7Ofj7FZTePuJlIw4tVhLyrC2lFmTkX1 c+SSxHcNxJuUlrHIQ1OSZHyXP9+Jj0ELTCD9KN4Glcyk088YZmcLoAZhAoGBAN2P bP+JaEbZqt02nNDOM8GjEW8JyXFR5GaKsJaTd5ZsfhCYpISTDq3Hdvc9Ma1ILzhF L9owhZu5WfFO38QCUrbACNNEOKRg1Vqx2+yTSH888BPyTcOIgpstSBKKC44qHgDT 1xeT7e2e99gxYxhL8Cdj2QzubcgF4bRZpYdgprNlAoGAeonznLLkeqEcnwTU2uHX vCFNXEZ47qeaw10X7Zn3GmLTuPDqvJ1kniF0EIoqHy7hQL9K5+9m2bh7CpiIpjir YtuGfXm5an+21VLs3uK3btB6BOlh+W9pnEFx58ekfFERNTHhFlNOPHuGxHZaOh9N D/s5+0pBMsGYIMVc+ozXXiECf0tLcr9k8wsg7fA/nwtXCD/GKyaRLORV8Ejo2RpT A1EbjbwWI9LqJxLntoZPRZKd9W4qFRkRZFaHpwlaxLDYGUQB/v3NMXKrddZcm2DK rNiQ3QXqUoMg4UHbIaMrRsIJjii51V8t5q3aWGAgaIzZQcQhKqI6ZRSU6x9fV+Gp 9v0CgYEA+wrtTT/KA0ivUooCHKZP+47fGXKMxtZJpjerUvO1t4Oc8/A75TNCl27s DsJ2XlT3Xno9PmlcZUfxfUxcI8pw2y2PKUSsKPtpJowJ+mM75734STVWZig3rNo9 A6J+Keq693OM+3qbbbaAvkWPhLlL7Ufbv4fbDkQBaMHAdH58Cu4= -----END RSA PRIVATE KEY----- [root@kamatora ~]# |
テキスト形式で出力する場合は「-text」をつけます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
[root@kamatora ~]# openssl rsa -text < rsa-aes256-2048.key Enter pass phrase: Private-Key: (2048 bit) modulus: 00:da:6f:d2:3b:eb:2a:a2:b3:70:a3:43:73:e6:40: 9a:59:3a:fa:e8:1f:34:37:76:9b:f7:6f:62:f5:73: 0c:c5:89:f5:09:c4:11:ee:e9:88:80:52:87:61:0e: 80:69:a4:19:0d:f3:76:b7:b8:ed:9c:35:f5:c4:70: c7:c7:ea:56:a9:23:ce:61:39:60:ef:a3:9c:ec:ea: 29:fc:9f:a7:4f:1a:1f:82:e3:b3:2e:2f:5b:22:b1: 5e:62:a8:13:11:ab:cb:be:c9:0f:56:4a:34:8a:38: 19:72:71:16:db:a4:66:f2:98:48:f5:44:86:8d:3d: 12:3e:84:32:9c:24:c2:94:1d:40:54:27:4d:15:32: 8c:96:4b:00:c4:db:b6:d6:50:a7:e7:a7:fd:42:93: 64:a3:0d:33:14:0c:a9:03:c8:ef:47:de:92:5f:41: f0:3c:cc:53:e2:36:f0:ac:fb:2a:7e:8b:e8:dd:52: ee:33:4f:16:a3:1d:b2:77:c1:60:0a:b9:01:15:6d: 66:62:4e:72:b7:f1:d8:c7:41:ba:88:fa:b5:80:98: 21:86:a3:e1:8b:0e:92:54:71:5b:11:b2:20:f5:aa: 34:d9:23:b5:19:9a:12:d4:e5:e5:3c:06:a8:1f:bf: f4:9e:69:61:38:1e:6a:0b:cc:80:a0:e2:17:fd:7e: 57:45 publicExponent: 65537 (0x10001) privateExponent: 00:a6:1c:8f:35:bd:ba:68:8c:28:c6:1f:4f:8d:f3: e6:ec:a0:6b:9a:05:d0:c1:b4:d3:1a:b1:7c:01:c8: 02:18:5e:b7:17:3c:21:9f:1b:bd:10:48:b2:66:de: 8e:4c:c7:db:bd:be:3d:b3:ad:50:14:90:fc:5a:ec: a1:20:a8:56:4a:bd:cd:fe:25:92:4f:ea:8e:35:a4: 45:55:b5:5b:98:4d:f7:54:a4:2f:e8:99:5e:a6:dd: 57:37:93:35:1d:25:16:05:fa:04:4d:cc:94:73:e0: 01:8a:03:f2:2c:09:b3:b8:1c:92:ae:e1:f3:a8:88: 9e:cd:27:df:0c:da:ef:95:8d:d8:a6:f6:24:4b:d4: d6:e4:b0:05:5f:56:63:05:b4:f7:64:e3:92:cf:aa: 3a:53:e1:f5:76:2a:77:cc:1d:bc:47:b1:d5:29:d5: a9:67:13:e6:71:02:1e:80:17:5b:27:54:4c:3a:b7: 6e:43:9c:2c:49:4c:fa:4a:f5:9e:4e:ad:94:2a:a6: bf:21:d4:1d:b0:c0:33:d4:cc:bc:98:c3:a7:05:c6: 6e:aa:5a:90:b4:34:70:3c:a5:06:9f:b7:75:36:38: 31:58:95:2d:c5:71:e3:0a:f8:cd:e5:f1:39:90:46: 81:bf:18:64:d8:d7:19:19:82:4f:fb:44:25:cc:27: 0d:01 prime1: 00:fc:64:1a:79:96:77:f0:46:99:f1:9c:37:f6:55: bc:e6:76:bf:62:14:d8:fa:f5:b4:82:3d:51:31:5b: bb:84:fb:cf:25:54:08:61:30:d6:8d:c3:2d:72:f2: b0:a4:54:5a:44:80:fb:97:c7:ed:db:bd:d7:02:3d: c4:6f:e8:53:b3:9f:8f:b1:59:4d:e3:ee:26:52:30: e2:d5:61:2f:2a:c2:da:51:66:4e:45:f5:73:e4:92: c4:77:0d:c4:9b:94:96:b1:c8:43:53:92:64:7c:97: 3f:df:89:8f:41:0b:4c:20:fd:28:de:06:95:cc:a4: d3:cf:18:66:67:0b:a0:06:61 prime2: 00:dd:8f:6c:ff:89:68:46:d9:aa:dd:36:9c:d0:ce: 33:c1:a3:11:6f:09:c9:71:51:e4:66:8a:b0:96:93: 77:96:6c:7e:10:98:a4:84:93:0e:ad:c7:76:f7:3d: 31:ad:48:2f:38:45:2f:da:30:85:9b:b9:59:f1:4e: df:c4:02:52:b6:c0:08:d3:44:38:a4:60:d5:5a:b1: db:ec:93:48:7f:3c:f0:13:f2:4d:c3:88:82:9b:2d: 48:12:8a:0b:8e:2a:1e:00:d3:d7:17:93:ed:ed:9e: f7:d8:31:63:18:4b:f0:27:63:d9:0c:ee:6d:c8:05: e1:b4:59:a5:87:60:a6:b3:65 exponent1: 7a:89:f3:9c:b2:e4:7a:a1:1c:9f:04:d4:da:e1:d7: bc:21:4d:5c:46:78:ee:a7:9a:c3:5d:17:ed:99:f7: 1a:62:d3:b8:f0:ea:bc:9d:64:9e:21:74:10:8a:2a: 1f:2e:e1:40:bf:4a:e7:ef:66:d9:b8:7b:0a:98:88: a6:38:ab:62:db:86:7d:79:b9:6a:7f:b6:d5:52:ec: de:e2:b7:6e:d0:7a:04:e9:61:f9:6f:69:9c:41:71: e7:c7:a4:7c:51:11:35:31:e1:16:53:4e:3c:7b:86: c4:76:5a:3a:1f:4d:0f:fb:39:fb:4a:41:32:c1:98: 20:c5:5c:fa:8c:d7:5e:21 exponent2: 4b:4b:72:bf:64:f3:0b:20:ed:f0:3f:9f:0b:57:08: 3f:c6:2b:26:91:2c:e4:55:f0:48:e8:d9:1a:53:03: 51:1b:8d:bc:16:23:d2:ea:27:12:e7:b6:86:4f:45: 92:9d:f5:6e:2a:15:19:11:64:56:87:a7:09:5a:c4: b0:d8:19:44:01:fe:fd:cd:31:72:ab:75:d6:5c:9b: 60:ca:ac:d8:90:dd:05:ea:52:83:20:e1:41:db:21: a3:2b:46:c2:09:8e:28:b9:d5:5f:2d:e6:ad:da:58: 60:20:68:8c:d9:41:c4:21:2a:a2:3a:65:14:94:eb: 1f:5f:57:e1:a9:f6:fd coefficient: 00:fb:0a:ed:4d:3f:ca:03:48:af:52:8a:02:1c:a6: 4f:fb:8e:df:19:72:8c:c6:d6:49:a6:37:ab:52:f3: b5:b7:83:9c:f3:f0:3b:e5:33:42:97:6e:ec:0e:c2: 76:5e:54:f7:5e:7a:3d:3e:69:5c:65:47:f1:7d:4c: 5c:23:ca:70:db:2d:8f:29:44:ac:28:fb:69:26:8c: 09:fa:63:3b:e7:bd:f8:49:35:56:66:28:37:ac:da: 3d:03:a2:7e:29:ea:ba:f7:73:8c:fb:7a:9b:6d:b6: 80:be:45:8f:84:b9:4b:ed:47:db:bf:87:db:0e:44: 01:68:c1:c0:74:7e:7c:0a:ee writing RSA key -----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEA2m/SO+sqorNwo0Nz5kCaWTr66B80N3ab929i9XMMxYn1CcQR 7umIgFKHYQ6AaaQZDfN2t7jtnDX1xHDHx+pWqSPOYTlg76Oc7Oop/J+nTxofguOz Li9bIrFeYqgTEavLvskPVko0ijgZcnEW26Rm8phI9USGjT0SPoQynCTClB1AVCdN FTKMlksAxNu21lCn56f9QpNkow0zFAypA8jvR96SX0HwPMxT4jbwrPsqfovo3VLu M08Wox2yd8FgCrkBFW1mYk5yt/HYx0G6iPq1gJghhqPhiw6SVHFbEbIg9ao02SO1 GZoS1OXlPAaoH7/0nmlhOB5qC8yAoOIX/X5XRQIDAQABAoIBAQCmHI81vbpojCjG H0+N8+bsoGuaBdDBtNMasXwByAIYXrcXPCGfG70QSLJm3o5Mx9u9vj2zrVAUkPxa 7KEgqFZKvc3+JZJP6o41pEVVtVuYTfdUpC/omV6m3Vc3kzUdJRYF+gRNzJRz4AGK A/IsCbO4HJKu4fOoiJ7NJ98M2u+Vjdim9iRL1NbksAVfVmMFtPdk45LPqjpT4fV2 KnfMHbxHsdUp1alnE+ZxAh6AF1snVEw6t25DnCxJTPpK9Z5OrZQqpr8h1B2wwDPU zLyYw6cFxm6qWpC0NHA8pQaft3U2ODFYlS3FceMK+M3l8TmQRoG/GGTY1xkZgk/7 RCXMJw0BAoGBAPxkGnmWd/BGmfGcN/ZVvOZ2v2IU2Pr1tII9UTFbu4T7zyVUCGEw 1o3DLXLysKRUWkSA+5fH7du91wI9xG/oU7Ofj7FZTePuJlIw4tVhLyrC2lFmTkX1 c+SSxHcNxJuUlrHIQ1OSZHyXP9+Jj0ELTCD9KN4Glcyk088YZmcLoAZhAoGBAN2P bP+JaEbZqt02nNDOM8GjEW8JyXFR5GaKsJaTd5ZsfhCYpISTDq3Hdvc9Ma1ILzhF L9owhZu5WfFO38QCUrbACNNEOKRg1Vqx2+yTSH888BPyTcOIgpstSBKKC44qHgDT 1xeT7e2e99gxYxhL8Cdj2QzubcgF4bRZpYdgprNlAoGAeonznLLkeqEcnwTU2uHX vCFNXEZ47qeaw10X7Zn3GmLTuPDqvJ1kniF0EIoqHy7hQL9K5+9m2bh7CpiIpjir YtuGfXm5an+21VLs3uK3btB6BOlh+W9pnEFx58ekfFERNTHhFlNOPHuGxHZaOh9N D/s5+0pBMsGYIMVc+ozXXiECf0tLcr9k8wsg7fA/nwtXCD/GKyaRLORV8Ejo2RpT A1EbjbwWI9LqJxLntoZPRZKd9W4qFRkRZFaHpwlaxLDYGUQB/v3NMXKrddZcm2DK rNiQ3QXqUoMg4UHbIaMrRsIJjii51V8t5q3aWGAgaIzZQcQhKqI6ZRSU6x9fV+Gp 9v0CgYEA+wrtTT/KA0ivUooCHKZP+47fGXKMxtZJpjerUvO1t4Oc8/A75TNCl27s DsJ2XlT3Xno9PmlcZUfxfUxcI8pw2y2PKUSsKPtpJowJ+mM75734STVWZig3rNo9 A6J+Keq693OM+3qbbbaAvkWPhLlL7Ufbv4fbDkQBaMHAdH58Cu4= -----END RSA PRIVATE KEY----- [root@kamatora ~]# |
パスワードの入力をミスすると以下のように「unable to load Private Key」と出力され、中身を確認することができません。
1 2 3 4 5 6 |
[root@kamatora ~]# openssl rsa < rsa-aes256-2048.key Enter pass phrase: <span style="color: #ff0000;">unable to load Private Key </span>140539732703048:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:596: 140539732703048:error:0906A065:PEM routines:PEM_do_header:bad decrypt:pem_lib.c:483: [root@kamatora ~]# |