ایمیل – نحوه ارسال یک پیام HTTP امضا شده

با استفاده از M2crypto، من سعی کردم این پیام را ارسال کنم:

 From: [email protected]
به: [email protected]
MIME-نسخه: 1.0
محتوا-موقعیت: پیوست؛ filename = "smime.p7m"
نوع محتوا: application / x-pkcs7-mime؛ smime-type = sign-data؛ name = "smime.p7m"
Content-Transfer-Encoding: base64

MIIOTQYJKoZIhvcNAQcCoIIOPjCCDjoCAQExCzAJBgUrDgMCGgUAMIGlBgkqhkiG
9w0BBwGggZcEgZRDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KQ29udGVudC1U
eXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9InV0Zi04Ig0KTUlNRS1WZXJzaW9uOiAx
LjANCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NA0KDQpQR2srY1dS
بوردیویتی
BgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2ln
بی متولی
IFNIQTI1NiAtIEczMB4XDTE4MDUwOTAxNTgyOVoXDTIxMDUwOTAxNTgyOVowTDEL
MAkGA1UEBhMCRlIxFjAUBgNVBAMMDUxhw6tsIENlbGxpZXIxJTAjBgkqhkiG9w0B
CQEWFmxhZWwuY2VsbGllckBnbWFpbC5jb20wggQiMA0GCSqGSIb3DQEBAQUAA4IE
DwAwggQKAoIEAQD + RsarwSlI0L9HJ9 + va98TTzsbLzPV48QhwaeW6cYgGwZBhpPN
1ewo + fqyCPPGZXmfxF9ralXvQ5dbaTvw6zuewf7PvpVssGZ / 1ojzJHK6trf6iI2r
V018D4xxDvGCRBl8XTbrZRcxq3Xx03yZHWGRSEk4aMMCo8iuAtwN70Pp / 4189PzQ
7W0ShzdZi9g6ELkoS11R4Kg9STDEXfbEBm8kSs7 / iUos0fk1WzUl / wSrVQEZO0A3
OJxbJBRdYfwoUvAUa2MByUwiuBQz4zGl + Q / t6AEoPVbXtEXkIPjuPhEW / uACcou
2k5HHXR9Wvjc5AnZcA7v2ha0TzRxNJu1 + wPfDJYzn4bovGGQcKxdjDP / oL8Dyrer
1TtX5djTx8ibVxqXdFh + uxnVA / 9QCIhGWNV + TDW6GwncfhA3yIQnfzM + QkHNr9Bo
L1FWcig2FP2oDgJ6N1H3y0RdXIWlfK5Sxr6UsBwYhc6oMKbPS15m4cnVNE60gk / X
/ f8Wp7HRBG7jii3FL2lvLSnkKQ4HSMREvpZXeBNGM9 / oTklNOt09J6f0mtGcslcT
elT1a3vAEobmerf8VPkjfLDaYXGxxHN8iwcZYu + t / 9YWQPXCZn / + zSefKNcuoMlN
امیدوارم
QA06nXfLRDu6i2GmYd0R0Lpm7VbGepnZVa / UJlU2KDFNa6G4pZ + EezzM + xg7G56l
kz0Xg59 + / NFJUgeuGFBgLgIrwfqFJLmp2GT4HpnwjKN3rnclaGajYRsYHSdidJU9
zd2jPVxo / RxfXIx3qlgRUWDih8rIlA4ASNsEq / 6ybL6gCAQo5KdR7YKE61Sv9O98
wU + gHQ7hWrcT6xsK5I6QpoL6sBcfwLqBSZzxCSONGhZuV09qGxMe7C18I4OODQxY
پراکسی
BAN + kLec6DslwKAD8u3867na / Cpir6kS1o + 9S2kYDt3BYI88KVJBfGkGRjwzdpO /
7Tq1bSdQzbHh6MKz1hifv8kaA5AM + GayrKzLtuNGBfW8jtobcZmzyX5I7gH4cB9H
اکتیویتو
SQAC0eLlhSfaLCFTK7ZoD5kPkmIQ3PSWqslNuEnlbOjrRmQQigRUHL9htWVoNXqZ
Mp1A7Bwue / WZUwCYpl7auzB4Xlk7GdMU6ZEnA0GYEN9AOaAWbIq8wSeHDJFH0szo
اکسپرس
Af8EBAMCBaAwgZ4GCCsGAQUFBwEBBIGRMIGOME0GCCsGAQUFBzAChkFodHRwOi8v
c2VjdXJlLmdsb2JhbHNpZ24uY29tL2NhY2VydC9nc3BlcnNvbmFsc2lnbjJzaGEy
زنگ
Y29tL2dzcGVyc29uYWxzaWduMnNoYTJnMzBMBgNVHSAERTBDMEEGCSsGAQQBoDIB
KDA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBv
c2l0b3J5LzAJBgNVHRMEAjAAMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwu
Z2xvYmFsc2lnbi5jb20vZ3NwZXJzb25hbHNpZ24yc2hhMmczLmNybDAhBgNVHREE
GjAYgRZsYWVsLmNlbGxpZXJAZ21haWwuY29tMB0GA1UdJQQWMBQGCCsGAQUFBwMC
BggrBgEFBQcDBDAdBgNVHQ4EFgQUJaSSLxHeqSkfX8J + LVEimHHOmNcwHwYDVR0j
BBgwFoAUaXKCYjFnlUSFd5GAxAQ2SZ17C2EwDQYJKoZIhvcNAQELBQADggEBAEVG
HTt1YiYCREbqhCWiMbpFC + WWy6JAxgFu4rw90ctfcZDIoxRacxpDIMKVMxf8ZF7h
gaeKow2sKp / hUJhvS1YQQArPj49p08rBj4aMtHIExlClWzJbv + ljVdAAHHxQl9gt
هزاره
SaIacMqzmnpnls1A7yNfCNtRW2r / VxAwwhRJqAyoeNLp9 + aiMCz8wz3FrJ + YHXIk
tLGxkmT / 1JPuA / z9z562FCaoUvXpRufvFle5YlKA9foklffUhy4sMkpHs1TL / diZ
تواما
ویتی
bmFsU2lnbiAyIENBIC0gU0hBMjU2IC0gRzMCDGHjBT8rJXseeJyouzAJBgUrDgMC
GgUAoIHYMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8X
دبیرکل
fTD + MHkGCSqGSIb3DQEJDzFsMGowCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBFjAL
BglghkgBZQMEAQIwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMA0GCCqGSIb3
DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMA0GCSqGSIb3DQEBAQUABIIE
AFHlvP6q5KjfIwr4rh3iMxWFHN7cp / m0pgDiq9E8weMZMqBaUOuWhuR7XwuarHCU
E7JyfpKwfxJ68Aq1O0UXEucRSvm3F2Am4gBeHuBVD515yoWOtRGyBTTmjXGRFIfo
Gcmo7Tx9Nb4Gmy0FSKptHYnWUOEKRRVW029Jh7087IOlPnZWDsVkXw1XJ49Yw4Tu
yK1G3AmD67VbtAezkiyCY0xziawsbOrR8wY6lsdELtFHz8D9ffcfcsVPh12 + s9 + 5
GSKmblhZ3YqGXFPGa9jYgPkjWzVlPVqPPE4aSqeoe7yEalAevDtSqaAIolqa + RI3
KVsHwJPklpoBIuXpV141Q2eLkQvcMTu8dCDVoJ18YOBiHI0GJypyby9e4FQdQmZN
9sxnT8ifsoQEMr9Kx6yEbGO1y ++ HMYYt9AXhsQgMpkFRPX0p9i4V + X6T11A0pEV
kk4ro + MWiAZnwVb + pftMBN1ogrunSgGJmqnCvOP02yWYMwnYtst3Zmergu4ma2V +
28dTIV / jCOYvzKD4plO5xkaXztWd + OqSccDmVagmDzrvNsYfwP / DRP666neAQY / j
xrDgMRunC8OEoqLzsAKfvRRxit0Ws2Xe7UxbI7H0GDDrInmyHO0Te0xKMIsKcH7e
bUsERHTJ053KkI4K3O8tNpnXUxkXzqd3a5KRJKtpK52GRVwH2khR / vmiZyTf / kib
5vIuXqkVyx / DiabAWUBnNVEcjOLJ1De2ruhhq07kFbBb6foguxS + esUivxh1MSzl
7q / DXA / USEc0jeHNJcbx51l6qAmsIKdnqOJWHvdFRfqVPnA28mFo0cu6 / epvWvcz
69bhN + hnKvhpG / FVMffPYD // 269xUfuP3EJ + UtgoeJe2Aal9a3OUCgm1XF6P74WI
CTDRXfm4SHDfG3ARJkpkpx5T9nU1U6FpNBJ5LjqAhlRtJalQWTJOiEOPEhvlD8w8
+ v2 +
gjKYCpizFkrGNw / Sr4jybnruHc7PIoqXIF6M + jDFYsq1A9CgQ068HP0Y5m4H841A
FHSq8PoEQeNclqNSGq9hbaPICN1v / wQOlUa0btAumOrpMbuR / kyE2afFp8PVYCfN
2Px7 + bt0LW4mCC6BHXorl / Ehmlp09 / Hvyqkz0aZ1ByzIMvjzXygwnF103ExEQy1b
KYcO64hbGzKGj8igbMs4o7EABzZcxfOnQ7hAWfanpmVuOQslHncBrXS6H3RLm4FN
fMbpWP8i9I462vvVUpziZBZRUQBGTONvZbUt2 + AAakbIcSBbR2xF17u5bPvx1tpQ
c2lqsbmYWLo0v31QwQFqCv8 =

که یک بار تأیید شده در Thunderbird / Outlook نمایش داده می شود:

 Content-Type: text / html؛ charset = "utf-8"
MIME-نسخه: 1.0
Content-Transfer-Encoding: base64

PGk + cWRmemZ6PC9pPg ==

به جای: qdfzfz

کد پایتون:

 از M2Crypto import BIO، Rand، SMIME


def makebuf (متن):
    بازگشت BIO.MemoryBuffer (متن)

# یک MemoryBuffer از پیام بسازید
buf = makebuf (bytes (MIMEText (' qdfzfz '، 'html'، 'utf-8'). as_string ()، 'utf-8'))

# دانه PRNG.
Rand.load_file ('randpool.dat'، -1)

# ایجاد یک شی SMIME؛ تنظیمش کن؛ بافر را امضا کنید
s = SMIME.SMIME ()
s.load_key ('signer_key.pem'، 'signer.pem')
p7 = s.sign (buf)

بدیهی است که email.mime.text.Mimetext () شیء درستی قرار نگرفت. اما علت چیست؟

کدام دستور باید از داده های امضا شده به عنوان متن استفاده شود؟ بدیهی است که decoding base64 کافی نیست.

TLS – OpenSSL قادر به تأیید گواهی صادر شده توسط CA محلی نیست

ما یک برنامه کاربردی داریم که گواهینامه های SSL را برای استفاده های مختلف صادر می کند (و حفظ می کند). این کار با استفاده از کتابخانه Bouncycastle در دات نت انجام می شود.

یک CA cert ایجاد می کنیم و سپس از این گواهینامه استفاده می کنیم تا علامت های معمولی مجددا را وارد کنید.

متوجه مشکل مشابهی شده ام که (OpenSSL) گواهی صادر کننده محلی "حتی در هنگام گذراندن در گواهینامه) و اطمینان حاصل کرده است که CA من دارای مورد ضروری KeyUsage بیت است.

به خاطر ساده بودن، من جزئیات تکمیلی را تکمیل خواهم کرد و دو قطعه به جای اینجا:

CA:

 گواهی:
    داده ها:
        نسخه: 3 (0x2)
        شماره سریال: 7084791601844488517 (0x62523c6ccf9c8945)
    الگوریتم امضا: sha256WithRSAEncryption
        صادر کننده: CN = 177dcde1-9239-40c9-9f92-5a014ca1c176.ca.instance.spectero.io
        اعتبار
            نه قبل: 28 ژوئن 00:00:00 2018 GMT
            نه بعد: 28 ژوئن 00:00:00 2028 GMT
        موضوع: CN = 177dcde1-9239-40c9-9f92-5a014ca1c176.ca.instance.spectero.io
        موضوع کلی اطلاعات عمومی:
            الگوریتم کلید عمومی: rsaEncryption
                کلید عمومی: (2048 بیتی)
                مدول:
                    00: a7: e1: 11: 5f: 4b: 82: ac: 77: d9: ae: e7: 95: a0: e4:
                    3c: d8: e4: 84: 07: 88: a8: 4e: fe: f2: ce: 5c: c8: 4d: 26:
                    69: c7: 33: 29: 39: b3: fc: c8: e5: 15: e1: 74: 85: d9: 14:
                    ac: f8: e4: 18: 08: 21: 8f: 2e: a3: c8: 6f: 98: 8e: 50: 8d:
                    d0: e7: 09: 67: f2: 85: 74: a9: 73: c6: 5b: 51: 69: f6: eb:
                    a1: 0d: be: a3: a8: 17: 09: bd: 73: 4d: 7f: 14: 75: d8: 3e:
                    fd: 80: 5f: 45: 5c: 9a: e4: 27: 81: c7: 4f: af: 2e: 3e: c9:
                    d0: 29: 61: f7: 8c: 6c: 92: 5f: 6f: 6b: c5: 0c: b6: 7f: 5a:
                    8c: 09: ab: 91: 1e: 1b: bb: 82: 79: a6: 91: 84: 5f: da: 8a:
                    d6: 86: 3c: b1: ee: 8a: 64: 16: 57: b7: 9b: fb: 2c: ef: 3e:
                    d8: a5: b9: 42: 7e: 89: 14: 92: dc: 6d: ab: 32: 70: 70: c7:
                    ee: 19: eb: bf: c1: 26: 95: fa: 46: 27: 6e: 6c: 9e: 8f: 1f:
                    98: 91: 7f: 1d: f6: 90: b6: be: 1f: 06: 74: 42: 0d: f9: ef:
                    24: 20: 78: c7: fa: 32: 23: 49: 85: 98: 3e: 14: 38: 8f: a7:
                    1b: 23: 3e: db: 2c: 67: 81: a3: 56: 33: e1: 79: c3: 3a: d2:
                    b9: d7: bf: 2f: 32: c7: 4c: 73: 2f: 8b: aa: 23: b3: 87: 0b:
                    b9: f5: fe: 01: ee: d0: c5: c8: 31: 13: dd: 8f: 23: 0a: b5:
                    68:65
                امتیاز: 65537 (0x10001)
        پسوند X509v3:
            شناسه Key Authority X509v3:
                keyid: B5: 2D: 8B: 07: 09: 99: 5A: 15: F3: EB: 21: 2E: 9A: FB: 98: AF: E3: 4E: EE: E1
                نام DirName: /CN=177dcde1-9239-40c9-9f92-5a014ca1c176.ca.instance.spectero.io
                سریال: 62: 52: 3C: 6C: CF: 9C: 89: 45

            X509v3 شناسه کلید موضوع:
                B5: 2D: 8B: 07: 09: 99: 5A: 15: F3: EB: 21: 2E: 9A: FB: 98: AF: E3: 4E: EE: E1
            X509v3 محدودیت های اساسی: انتقادی
                CA: درست است
            X509v3 استفاده گسترده کلید:
                هر گونه استفاده از کلید های تمدید
            X509v3 کلید کاربرد: مهم است
                امضای دیجیتال، رمزنگاری کلید، امضای گواهی، ثبت سیلیس
    الگوریتم امضا: sha256WithRSAEncryption
         14: a8: 4b: 02: 89: b2: a6: 0e: 6a: 78: a5: fe: 99: 6c: 3d: 02: 7a: a5:
         5e: ca: 48: d2: 89: f5: 1e: f8: e5: 42: 3c: 51: ab: ac: ba: 6a: 27: 74:
         2a: 3f: b4: 22: 59: fd: 56: a1: 52: 4f: 07: c4: cd: 6d: 8f: 63: 0a: 2d:
         e6: c5: 7a: 4e: 52: 9d: 32: 2e: cb: 37: 7a: 23: 96: 8f: 95: 9f: 17: ac:
         34: 62: 43: 2e: 26: 86: 50: c1: 1e: 0e: 5e: cf: 22: 62: bb: 9e: 33: 50:
         69: be: 16: cb: 99: e6: 8b: 2a: 2f: d5: 0c: 1e: b7: b5: db: b2: 6c: c9:
         d6: 81: d7: 5d: e6: 15: 4f: a4: 2c: 3f: 8c: 8d: 41: d9: 6a: 56: 85: b1:
         2b: d4: 69: 1f: 73: cf: b1: ad: a4: c5: 36: c7: 5c: c6: 76: 6f: 2e: 09:
         26: 04: 21: ea: 65: 09: 70: e5: 22: 4c: b0: 35: 01: bf: 39: cc: b4: 87:
         45: 14: 47: c4: 52: 1a: 40: 3c: 36: 1e: 55: 23: 55: 0b: 25: d9: 8d: 5b:
         45: 46: d9: 9a: 69: 3e: 5e: 07: e3: 6f: 52: e3: 6f: 41: 1f: e5: 31: f0:
         78: 07: aa: 88: d0: d2: aa: ae: e5: 34: f3: 80: 71: 54: 75: 02: 89: 08:
         e3: 23: 97: 9b: 36: f8: e4: 94: 88: 5c: 34: 59: bd: 74: 41: a2: 91: 68:
         93: 63: 90: e4: b0: da: c0: 77: 84: c4: db: 10: b3: d3: 56: c2: 43: e5:
         D5: 29: 0E: 4A

تاریخ صدور:

 گواهی:
    داده ها:
        نسخه: 3 (0x2)
        شماره سریال: 2613337765100360586 (0x244470d9eeeb938a)
    الگوریتم امضا: sha256WithRSAEncryption
        صادر کننده: CN = 177dcde1-9239-40c9-9f92-5a014ca1c176.ca.instance.spectero.io
        اعتبار
            نه قبل: 28 ژوئن 00:00:00 2018 GMT
            نه بعد: 28 ژوئن 00:00:00 2028 GMT
        موضوع: CN = spectero.users.177dcde1-9239-40c9-9f92-5a014ca1c176.instance.spectero.io
        موضوع کلی اطلاعات عمومی:
            الگوریتم کلید عمومی: rsaEncryption
                کلید عمومی: (2048 بیتی)
                مدول:
                    00: 85: 64: af: 24: 5b: 1e: 5b: 66: 13: 66: 2a: cb: 1a: 0c:
                    55: bf: 88: bb: 51: 90: 2a: 94: fe: d8: bd: 68: 6e: ed: 4b:
                    0c: d2: b5: c3: 76: 8a: a4: 05: 74: 0b: 2b: c4: ca: 23: ad:
                    69: 54: b8: 7e: 5b: 3d: 1d: 21: 07: 11: 5b: e3: dd: 67: 23:
                    1f: 96: e3: cc: fc: 11: ff: 70: bb: 6c: 16: 9c: 6d: d4: 89:
                    23: 50: 8d: 0e: 98: dc: 18: 62: 5f: 42: b3: 9d: 87: be: 31:
                    2d: b7: 02: 64: 8b: 26: 1b: 77: 4d: 41: ae: de: 02: 8e: 79:
                    55: 74: 65: fc: 6c: 9c: f7: 0b: cf: 58: e7: ff: 68: 4f: 60:
                    42: باید: 8a: 6e: 8f: e5: 19: c8: 9d: ce: 55: 24: 8d: 91: 8e:
                    4b: dd: 27: c9: c3: 2b: 24: dd: 38: 9f: 22: ed: aa: 59: a0:
                    22: ca: a3: 5d: 45: ed: bd: 2d: c1: 67: 21: db: 63: 1b: 6f:
                    a8: 90: f9: d6: d1: c5: d2: 49: fb: ac: 47: 55: a0: d5: 1b:
                    1b: 46: 6b: f2: 20: 0f: 2d: 81: f8: ea: 5a: b7: 90: 6a: 91:
                    a9: 95: e0: 72: 2d: a3: fc: fb: a7: 2c: 6e: 13: a3: e5: 06:
                    14: cc: 64: d8: f8: 1d: 9b: b5: ce: fb: 08: b0: 64: c7: 32:
                    4c: 57: 98: 64: 21: d7: a6: ad: b9: 75: bc: 70: 05: d6: 0c:
                    22: 34: 2a: a4: bd: ab: 26: 2b: 44: 63: 49: ba: 58: 0b: c7:
                    1e: 85
                امتیاز: 65537 (0x10001)
        پسوند X509v3:
            شناسه Key Authority X509v3:
                keyid: B5: 2D: 8B: 07: 09: 99: 5A: 15: F3: EB: 21: 2E: 9A: FB: 98: AF: E3: 4E: EE: E1
                نام DirName: /CN=177dcde1-9239-40c9-9f92-5a014ca1c176.ca.instance.spectero.io
                سریال: 45: 89: 9C: CF: 6C: 3C: 52: 62

            X509v3 شناسه کلید موضوع:
                D3: FD: 59: E5: 24: 4B: 93: AA: 6A: AA: E1: AE: 65: DF: CC: 06: 0E: 18: 09: 30
            X509v3 محدودیت های اساسی: انتقادی
                CA: اشتباه
            X509v3 استفاده گسترده کلید:
                تایید وب سرور TLS
    الگوریتم امضا: sha256WithRSAEncryption
         61: da: ad: d9: ed: f5: 0f: 4e: 32: 80: b5: ce: 98: 91: cc: f3: 3f: 45:
         ea: 7e: 1d: c3: ee: 13: 6f: 34: 74: 9f: 32: 33: ac: 55: 63: d2: 19: ba:
         f1: c3: c0: 76: 8d: b1: 59: 64: ca: 58: e1: 97: 72: a2: 03: 36: 57: b4:
         ac: b8: a9: 21: 22: 9e: 69: 1a: 99: 0c: 86: 74: 27: 4b: 48: d9: cc: 8f:
         bf: 3f: 3b: e5: 2d: 91: 92: f7: 89: 2a: 32: 93: 92: e0: cd: b0: 1b: e0:
         8f: 2b: b8: 80: 64: 7b: b3: 1e: 43: 9b: 11: ce: b1: d3: 34: da: 0f: 26:
         d6: 40: d8: a1: 73: 8a: a2: 47: 26: 9b: ea: b5: bd: 0d: f1: 47: dc: fa:
         55: bf: 92: be: 98: e0: c8: f7: 69: 8b: f1: c1: 07: bf: 13: 50: 5e: f9:
         7d: 6e: 7c: 56: 88: ee: 42: de: ff: b0: 85: f2: 57: cb: 67: 4d: 06: 71:
         fb: b6: 8a: 27: 5b: de: fe: f9: 46: 15: 88: 0a: 1b: 51: 67: 7e: 8f: dd:
         62: db: 27: 15: 0b: 52: fa: 6b: 6b: ec: 46: f6: 1f: 8a: 8d: e6: 62: 94:
         56: e9: a9: d2: 26: bd: d3: 2d: fd: f3: 3e: af: b9: bc: 9c: 7e: 6f: a9:
         ab: 49: 4d: 36: 19: 34: b2: c0: 06: a4: b4: 9b: 60: d1: a1: 77: 55: 48:
         e7: eb: b8: cf: 2a: aa: 07: 24: e6: 30: a6: 66: 89: 62: 83: d2: 7b: 3c:
         9e: 69: 79: 04

در این مرحله، من واقعا مطمئن نیستم که چرا تأیید شکست است:

 reisende @ Bleu: / mnt / c / Users / reise / Desktop / pki $ openssl verify -CAfile newCA.crt newUser.crt
CN = spectero.users.177dcde1-9239-40c9-9f92-5a014ca1c176.instance.spectero.io
خطای 20 در 0 جستجوی عمیق: قادر به دریافت گواهی صادر کننده محلی نیست
error newUser.crt: تأیید شکست خورد

آیا کسی که تجربه بیشتری دارد احتمالا نگاهی به آن می دهد؟ با تشکر

openssl – CSR چندگانه از همان کلید خصوصی

در نظر بگیرید که من یک کلید خصوصی جدید نامشخص با استفاده از openssl ایجاد کنم:

 openssl genrsa-out personal.key 2048

من پس از آن چند درخواست CSR (به نام csr1.csr و csr2.csr ):

 openssl req-new -sha256 -key personal.key -out csr1 .csr
openssl req -new -sha256 -key personal.key -out csr2.csr

(هر دو CSR با همان مجموعه ای از فیلدها تولید می شوند.

فایل های .csr به احزاب مختلف داده می شود و csr1.csr به خطر افتاده است توسط شخص ثالث

چگونه امن و اعتماد هستند csr2.csr و personal.key اکنون (در شرایط استفاده باقی مانده و حفظ آنها برای استفاده در آینده)

باید csr2.csr و / یا personal.key اگر csr1.csr به خطر افتاده است؟ اگر چنین است، چرا این است؟

اضافه کردن یک بلوک سفارشی سفارشی به Node JS؟

من یک نسخه اصلاح شده openssl با یک TLS سفارشی سفارشی دارم که آزمایش می کنم. چگونه می توانم از آن در Node JS استفاده کنم؟

من نسخه اصلاح شده openssl را به Node JS با استفاده از LD_LIBRARY_PATH اشاره کرده ام.

من سعی کردم تعیین رمز رمزگذاری TLS با استفاده از - -tls-cipher-list گزینه بی فایده است. با این حال من می توانم از دستور openssl ciphers

لیست کنم.

رمزگذاری با استفاده از openssl با کلید rsa سفارشی

فایل زیر را ایجاد کردم

 asn1 = SEQUENCE: rsa_key

[rsa_key]
version = INTEGER: 0
modulus = INTEGER: 305512047893009
pubExp = INTEGER: 78221649299689
privExp = INTEGER: 181909
p = INTEGER: 17477423
q = INTEGER: 17480383
e1 = INTEGER: 181909
e2 = INTEGER: 181909
ضریب = INTEGER: 1611938

این فایل asn_format_mykey.txt

سپس من دستورات

 $ openssl asn1parse -genconf asn_format_mykey.txt -out key.der را اجرا میکنم
$ openssl rsa -inform در در key.der -outform pem> key.pem
$ openssl rsa -inform در در key.der -outform pem -pubout> pkey.pem

بنابراین ما key.pem (کلید خصوصی) و pkey.pem (کلید عمومی)

را دریافت کردیم، سپس، من سعی کردم یک پیام کوچک با استفاده از گزینه -raw با openssl rsautl

 $ echo 'aaaa' | openssl rsautl -encrypt -pubin -inkey pkey.pem -raw -out message.encrypted

و من

خطای خطای RSA 140063665198744: خطا: 0406B07A: rsa
  دستورات: RSA_padding_add_none: اطلاعات برای کلید بسیار کوچک است
  اندازه: rsa_none.c: 74:

هر گونه ایده چگونه به رفع این؟