{"id":493248,"date":"2026-09-02T15:15:24","date_gmt":"2026-09-02T15:15:24","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=493248"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=493248","title":{"rendered":"\u041e\u0442 Root CA \u0434\u043e User Authorization \u0432 nginx+apache. \u0427\u0430\u0441\u0442\u044c 4. \u0421\u0432\u043e\u0439 web-\u0423\u0426: \u0432\u044b\u043f\u0443\u0441\u043a \u0438\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430, \u0440\u043e\u043b\u0438 \u0438 \u0430\u0443\u0434\u0438\u0442"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<blockquote>\n<p>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0446\u0438\u043a\u043b\u0430. \u0412 <a href=\"https:\/\/habr.com\/ru\/articles\/325956\/\" rel=\"noopener nofollow\">\u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438<\/a> \u043c\u044b \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u043b\u0438 \u0434\u0432\u0443\u0445\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443: Root CA \u0438 \u0442\u0440\u0438 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0445 \u0446\u0435\u043d\u0442\u0440\u0430. \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u043d\u0430\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u043e\u0442\u0437\u044b\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b, \u0440\u0430\u0437\u0434\u0430\u0432\u0430\u0442\u044c CRL \u0438 \u043f\u043e\u0434\u043d\u044f\u043b\u0438 OCSP-responder. \u0412 <a href=\"https:\/\/habr.com\/ru\/articles\/1073162\/\" rel=\"noopener nofollow\">\u0442\u0440\u0435\u0442\u044c\u0435\u0439<\/a> \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u0432\u0445\u043e\u0434 \u043f\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u043c\u0443 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0443 \u0432 nginx \u0438 Apache. \u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u0430: <strong>\u0430 \u043e\u0442\u043a\u0443\u0434\u0430 \u0443 \u043b\u044e\u0434\u0435\u0439 \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b?<\/strong><\/p>\n<\/blockquote>\n<p>\u041f\u043e\u043a\u0430 \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u044f\u044e\u0449\u0438\u043c \u0446\u0435\u043d\u0442\u0440\u043e\u043c \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0447\u0435\u043b\u043e\u0432\u0435\u043a, <code>openssl<\/code> \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 \u2014 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0432\u0442\u043e\u0440\u043e\u0439 \u0441 \u043f\u0440\u043e\u0441\u044c\u0431\u043e\u0439 \u00ab\u0432\u044b\u043f\u0443\u0441\u0442\u0438 \u043c\u043d\u0435 \u0442\u043e\u0436\u0435\u00bb, \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0442\u043e, \u0440\u0430\u0434\u0438 \u0447\u0435\u0433\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0446\u0435\u043d\u0442\u0440\u044b: \u0437\u0430\u044f\u0432\u043a\u0438, \u0440\u043e\u043b\u0438, \u0436\u0443\u0440\u043d\u0430\u043b \u0438 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441 \u00ab\u043a\u0442\u043e \u0438 \u043d\u0430 \u043a\u0430\u043a\u043e\u043c \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u044d\u0442\u043e \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043b\u00bb. \u0412 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u044b \u043d\u0430\u043f\u0438\u0448\u0435\u043c <strong>PKIDesk<\/strong> \u2014 \u0432\u0435\u0431-\u0434\u0432\u0438\u0436\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c\u0438 \u2014 \u0438 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c, \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d \u0443\u0441\u0442\u0440\u043e\u0435\u043d \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a, \u0430 \u043d\u0435 \u043f\u0440\u043e\u0449\u0435.<\/p>\n<p>\u0424\u043e\u0440\u043c\u0430\u0442 \u043f\u0440\u0435\u0436\u043d\u0438\u0439: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0437\u0430\u0442\u0435\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u043f\u043e \u0432\u0441\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c \u2014 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044f \u0438 \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0435 \u043a\u0430\u043c\u043d\u0438, \u0441\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0441 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439, \u0430 \u043d\u0435 \u0441 \u0447\u0443\u0436\u0438\u043c\u0438 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0430\u043c\u0438. \u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0437\u0434\u0435\u0441\u044c \u0447\u0435\u0442\u044b\u0440\u0435, \u0432 \u043d\u0438\u0445 237 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432.<\/p>\n<blockquote>\n<p><strong>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u043b\u043e\u0441\u044c \u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f\u0445.<\/strong> OpenSSL master \u0434\u043b\u044f \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u0432; \u0436\u0438\u0432\u043e\u0439 \u0441\u0442\u0435\u043d\u0434 \u0441\u043e\u0431\u0440\u0430\u043d \u043d\u0430 nginx 1.29.8, OpenSSL 3.3.7 \u0438 Go 1.24. \u0411\u0440\u0430\u0443\u0437\u0435\u0440\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u2014 Web Crypto API \u043f\u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 W3C. \u0413\u0434\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u044e \u043d\u0435 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442, \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445 \u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u043e\u0447\u0435\u0440\u043a \u2014 \u044f \u043d\u0435 \u0443\u0433\u0430\u0434\u044b\u0432\u0430\u044e.<\/p>\n<\/blockquote>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438:<\/p>\n<ol>\n<li>\n<p>\u041a\u043d\u043e\u043f\u043a\u0430 \u00ab\u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u00bb: \u043a\u043b\u044e\u0447 \u0440\u043e\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0438 \u043d\u0435 \u043f\u043e\u043a\u0438\u0434\u0430\u0435\u0442 \u0435\u0433\u043e \u2014 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u0442\u0430\u043a\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u0434\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0438\u043c\u044f.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0432\u0438\u0436\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c\u0438: \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0440\u0430\u0437\u0432\u0438\u043b\u043a\u0438, \u0438\u0437-\u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043a\u043b\u044e\u0447 \u0423\u0426 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0441 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c.<\/p>\n<\/li>\n<li>\n<p>\u0422\u0440\u0438 \u0434\u0435\u0444\u0435\u043a\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u043b\u0435\u0437\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0436\u0438\u0432\u043e\u043c \u0441\u0442\u0435\u043d\u0434\u0435.<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u043d\u0430 \u0436\u0438\u0432\u043e\u043c \u0441\u0442\u0435\u043d\u0434\u0435 \u2014 \u043e\u0442 \u0432\u0445\u043e\u0434\u0430 \u0434\u043e \u043e\u0442\u0437\u044b\u0432\u0430.<\/p>\n<\/li>\n<\/ol>\n<p>\u041a\u043e\u0434 \u0434\u0432\u0438\u0436\u043a\u0430: <a href=\"https:\/\/github.com\/DidenkoMS\/pkidesk\" rel=\"noopener nofollow\"><strong>github.com\/DidenkoMS\/pkidesk<\/strong><\/a>. \u0414\u0435\u0440\u0435\u0432\u043e \u0423\u0426, \u043a\u043e\u043d\u0444\u0438\u0433\u0438 \u0438 docker-\u043c\u0430\u043a\u0435\u0442 \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0446\u0438\u043a\u043b\u0430: <a href=\"https:\/\/github.com\/DidenkoMS\/ssl_article\" rel=\"noopener nofollow\"><strong>github.com\/DidenkoMS\/ssl_article<\/strong><\/a>.<\/p>\n<hr\/>\n<h3>\u0428\u0430\u0433 1. \u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0432 \u043e\u0434\u0438\u043d \u043a\u043b\u0438\u043a: \u043a\u043b\u044e\u0447, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043f\u043e\u043a\u0438\u0434\u0430\u0435\u0442 \u0431\u0440\u0430\u0443\u0437\u0435\u0440<\/h3>\n<p>\u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430: \u0432\u043e\u0439\u0442\u0438 \u043f\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0443 \u043e\u043d \u043d\u0435 \u043c\u043e\u0436\u0435\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0443 \u043d\u0435\u0433\u043e \u0435\u0449\u0451 \u043d\u0435\u0442. \u0417\u0430\u043c\u043a\u043d\u0443\u0442\u044b\u0439 \u043a\u0440\u0443\u0433 \u0440\u0430\u0437\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u00ab\u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u00bb \u2014 \u0438 \u0432\u043e\u0442 \u043e\u043d\u0430-\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0435, \u0447\u0435\u043c \u043a\u0430\u0436\u0435\u0442\u0441\u044f.<\/p>\n<p>\u0421\u0430\u043c\u044b\u0439 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u2014 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440: \u043f\u0443\u0441\u0442\u044c \u043e\u043d \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043a\u043b\u044e\u0447, \u0441\u043e\u0431\u0435\u0440\u0451\u0442 PKCS#12 \u0438 \u043e\u0442\u0434\u0430\u0441\u0442 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b. \u0423\u0434\u043e\u0431\u043d\u043e \u2014 \u0438 \u0440\u043e\u0432\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e. \u041a\u043b\u044e\u0447, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c, \u043d\u0430 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u0438\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u043d\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430: \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0447\u0443\u0436\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430, \u0432 \u0442\u0435\u043b\u0435 HTTP-\u043e\u0442\u0432\u0435\u0442\u0430, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u043a\u0441\u0438. \u0414\u043b\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0441 <code>nonRepudiation<\/code> \u044d\u0442\u043e \u0440\u0430\u0437\u0440\u0443\u0448\u0430\u0435\u0442 \u0441\u0430\u043c\u0443 \u043d\u0435\u043e\u0442\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0441\u0442\u044c: \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043a\u043e\u043f\u0438\u0435\u0439 \u043d\u0435 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u043d\u0438\u043a\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0439, \u0443\u0436\u0435 \u043d\u0435\u043b\u044c\u0437\u044f.<\/p>\n<p>\u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u2014 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u044e\u0447 <strong>\u0443 \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430<\/strong> \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0440\u043e\u0441. \u041e\u0431\u044b\u0447\u043d\u043e \u044d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u00ab\u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443 \u0434\u0432\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>openssl<\/code>\u00bb. \u041d\u043e \u0443 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u0432\u0441\u0451 \u043d\u0443\u0436\u043d\u043e\u0435 \u0435\u0441\u0442\u044c: WebCrypto \u0443\u043c\u0435\u0435\u0442 \u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u044e\u0447\u0438, \u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c.<\/p>\n<h4>1.1. PKCS#10 \u0440\u0443\u043a\u0430\u043c\u0438, \u0431\u0435\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a<\/h4>\n<p>\u0417\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u2014 \u044d\u0442\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 ASN.1 \u0438\u0437 RFC 2986:<\/p>\n<pre><code>CertificationRequest ::= SEQUENCE {    certificationRequestInfo  CertificationRequestInfo,    signatureAlgorithm        AlgorithmIdentifier,    signature                 BIT STRING }CertificationRequestInfo ::= SEQUENCE {    version        INTEGER { v1(0) },    subject        Name,    subjectPKInfo  SubjectPublicKeyInfo,    attributes     [0] IMPLICIT Attributes }<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0412\u0441\u0451 \u044d\u0442\u043e \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u043e\u0442\u043d\u044e \u0441\u0442\u0440\u043e\u043a \u043d\u0430 \u0433\u043e\u043b\u043e\u043c JavaScript, \u0438 \u0432\u043d\u0435\u0448\u043d\u044f\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0437\u0434\u0435\u0441\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u0430 \u2014 \u0447\u0438\u0442\u0430\u0442\u044c RFC \u043f\u043e\u043b\u0435\u0437\u043d\u0435\u0435, \u0447\u0435\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c. \u0414\u0432\u0430 \u043c\u0435\u0441\u0442\u0430, \u0433\u0434\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u0441\u043f\u043e\u0442\u044b\u043a\u0430\u044e\u0442\u0441\u044f:<\/p>\n<ul>\n<li>\n<p><code><strong>exportKey('spki')<\/strong><\/code><strong> \u0443\u0436\u0435 \u043e\u0442\u0434\u0430\u0451\u0442 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 <\/strong><code><strong>SubjectPublicKeyInfo<\/strong><\/code> \u2014 \u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u043e\u0441\u043b\u043e\u0432\u043d\u043e, \u0430 \u043d\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0437\u0430\u043d\u043e\u0432\u043e.<\/p>\n<\/li>\n<li>\n<p><code><strong>attributes [0] IMPLICIT<\/strong><\/code><strong> \u2014 \u043d\u0435 \u00ab\u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u043b\u0435\u00bb<\/strong>: \u043f\u0443\u0441\u0442\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0442\u0435\u0433\u043e\u043c \u0441 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0434\u043b\u0438\u043d\u043e\u0439, \u0430 \u043d\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442. \u0415\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f <code>subjectAltName<\/code>, \u0442\u0443\u0434\u0430 \u043a\u043b\u0430\u0434\u0451\u0442\u0441\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442 <code>extensionRequest<\/code> (OID <code>1.2.840.113549.1.9.14<\/code>) \u0441 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043b\u044e\u0441 \u043e\u0431\u0449\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 DER, \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u0436\u0443\u0442\u0441\u044f \u0432\u0441\u0435: \u0434\u043b\u0438\u043d\u043d\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u0434\u043b\u0438\u043d\u044b, \u0432\u0435\u0434\u0443\u0449\u0438\u0439 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0431\u0430\u0439\u0442 \u0443 <code>INTEGER<\/code> \u0441\u043e \u0441\u0442\u0430\u0440\u0448\u0438\u043c \u0431\u0438\u0442\u043e\u043c, \u0447\u0438\u0441\u043b\u043e \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0431\u0438\u0442 \u043f\u0435\u0440\u0432\u044b\u043c \u0431\u0430\u0439\u0442\u043e\u043c <code>BIT STRING<\/code>.<\/p>\n<p>\u041a\u043b\u044e\u0447 \u043e\u0431\u044f\u0437\u0430\u043d \u0431\u044b\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d \u0441 <code>extractable: true<\/code> \u2014 \u0438\u043d\u0430\u0447\u0435 \u0435\u0433\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u0444\u0430\u0439\u043b. \u042d\u0442\u043e \u0447\u0435\u0441\u0442\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0430: \u043b\u044e\u0431\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043c\u043e\u0436\u0435\u0442 \u0435\u0433\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c, \u0438 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0437\u0430\u0449\u0438\u0442\u0430 \u0437\u0434\u0435\u0441\u044c \u2014 \u0441\u0442\u0440\u043e\u0433\u0430\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e (<code>script-src 'self'<\/code>) \u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0432\u043e\u043e\u0431\u0449\u0435.<\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u0434 \u00ab\u043d\u0430 \u0433\u043b\u0430\u0437\u00bb \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u0435\u0442\u0441\u044f \u0432\u043d\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430: Node \u0434\u0430\u0451\u0442 \u0442\u043e\u0442 \u0436\u0435 WebCrypto, \u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 <code>openssl<\/code> \u2014 \u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c. \u0414\u0432\u0430\u0434\u0446\u0430\u0442\u044c \u0441\u0435\u043c\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u043a: \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u044b \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430, \u0440\u0430\u0437\u0431\u043e\u0440 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0430 \u0441 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c, <code>subjectAltName<\/code> \u0432\u0441\u0435\u0445 \u0442\u0438\u043f\u043e\u0432, \u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0446\u0430 \u0432 <code>UTF8String<\/code>, \u043e\u0442\u043a\u0430\u0437 \u043d\u0430 \u0441\u043b\u0430\u0431\u043e\u043c \u043a\u043b\u044e\u0447\u0435.<\/p>\n<pre><code>== CSR \u0431\u0435\u0437 subjectAltName ==  ok    openssl \u043f\u0440\u0438\u043d\u044f\u043b \u0437\u0430\u043f\u0440\u043e\u0441 \u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u044c \u0441\u043e\u0448\u043b\u0430\u0441\u044c  ok    \u0441\u0442\u0440\u0430\u043d\u0430 PrintableString  ok    \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043f\u043e\u0434\u043f\u0438\u0441\u0438 sha256WithRSAEncryption== \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 ==  ok    \u043a\u043b\u044e\u0447 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0443== CSR \u0441 subjectAltName ==  ok    \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 subjectAltName \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u043e  ok    IP-\u0430\u0434\u0440\u0435\u0441<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<h4>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a: \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 PKCS#10<\/h4>\n<details class=\"spoiler\">\n<summary>\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u2014 55 \u043f\u043e\u043b\u0435\u0439 (\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 PKCS#10)<\/summary>\n<div class=\"spoiler__content\">\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \/ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041f\u043e \u0443\u043c\u043e\u043b\u0447.<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438 \u043d\u044e\u0430\u043d\u0441\u044b<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>AlgorithmIdentifier<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">AlgorithmIdentifier {ALGORITHM:IOSet } ::= SEQUENCE {     algorithm  ALGORITHM.&amp;id({IOSet}),     parameters ALGORITHM.&amp;Type({IOSet}{<a href=\"\/users\/algorithm\" rel=\"noopener nofollow\">@algorithm<\/a>}) OPTIONAL}\u0437\u043d\u0430\u0447.: SEQUENCE (\u0442\u0435\u0433 0x30): OID + \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0442\u0438\u043f\u0430 AlgorithmIdentifier \u0438\u0437 X.509: \u0436\u0451\u0441\u0442\u043a\u043e \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0430\u0440\u044b \u00abOID \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u2014 \u0442\u0438\u043f \u0435\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432\u00bb. \u041a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u044b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 AlgorithmIdentifier.\u26a0\ufe0f parameters \u043f\u043e\u043c\u0435\u0447\u0435\u043d OPTIONAL, \u043d\u043e \u00ab\u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442\u00bb \u0438 \u00ab\u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043a\u0430\u043a NULL\u00bb \u2014 \u044d\u0442\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0431\u0430\u0439\u0442\u044b. \u0414\u043b\u044f RSA PKCS#1 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u044f\u0432\u043d\u044b\u0439 NULL, \u0434\u043b\u044f ECDSA \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442; \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u0430\u044f \u0437\u0430\u043c\u0435\u043d\u0430 \u043e\u0434\u043d\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u0438\u043c \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043e\u0442\u043a\u0430\u0437\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0443 \u0441\u0442\u0440\u043e\u0433\u0438\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>AlgorithmIdentifier (RFC 5280)<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">AlgorithmIdentifier  ::=  SEQUENCE  {     algorithm               OBJECT IDENTIFIER,     parameters              ANY DEFINED BY algorithm OPTIONAL  }\u0437\u043d\u0430\u0447.: SEQUENCE (\u0442\u0435\u0433 0x30): OID + \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f (1988-\u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441) \u0444\u043e\u0440\u043c\u0430 AlgorithmIdentifier: OID \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0442\u0438\u043f\u0430 ANY DEFINED BY. \u041a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438\u0437 RFC 2986.\u26a0\ufe0f \u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u0438\u0448\u0435\u0442\u0435 \u043e\u0434\u0438\u043d \u043f\u0430\u0440\u0441\u0435\u0440 \u0438 \u0434\u043b\u044f CSR, \u0438 \u0434\u043b\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430, \u043f\u043e\u043c\u043d\u0438\u0442\u0435: \u0442\u0438\u043f \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0431\u0430\u0439\u0442\u043e\u0432, \u043d\u043e \u0432 RFC 2986 \u043e\u043d \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c (AlgorithmIdentifier{{\u2026}}) \u2014 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0435 \u0447\u0438\u0441\u0442\u043e \u043d\u043e\u0442\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0435 \u0438 \u043d\u0430 DER \u043d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>Attribute<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE {     type   ATTRIBUTE.&amp;id({IOSet}),     values SET SIZE(1\u2026MAX) OF ATTRIBUTE.&amp;Type({IOSet}{<a href=\"\/users\/type\" rel=\"noopener nofollow\">@type<\/a>})}\u0437\u043d\u0430\u0447.: SEQUENCE (\u0442\u0435\u0433 0x30) \u0438\u0437 OID \u0438 SET \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u0434\u0438\u043d \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430: \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0442\u0438\u043f\u0430 (OID) \u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0442\u0438\u043f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u044d\u0442\u0438\u043c OID \u0447\u0435\u0440\u0435\u0437 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u0438\u043f.\u26a0\ufe0f values \u2014 \u044d\u0442\u043e SET, \u0430 \u043d\u0435 \u043e\u0434\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435: \u0434\u0430\u0436\u0435 \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u044b\u0445 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u0432\u0440\u043e\u0434\u0435 extensionRequest \u0432\u043e\u043a\u0440\u0443\u0433 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430 \u043e\u0431\u0451\u0440\u0442\u043a\u0430 0x31. \u0420\u0430\u0437\u043c\u0435\u0440 SIZE(1\u2026MAX) \u0437\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u0442 \u043f\u0443\u0441\u0442\u043e\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u2014 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0431\u0435\u0437 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u0435\u043d.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>Attribute (RFC 5280)<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Attribute               ::= SEQUENCE {      type             AttributeType,      values    SET OF AttributeValue }            \u2013 at least one value is required\u0437\u043d\u0430\u0447.: SEQUENCE (\u0442\u0435\u0433 0x30): OID + SET \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 (\u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u043e\u0434\u043d\u043e\u0433\u043e)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0435\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u0442\u0438\u043f\u0430 Attribute. \u0421\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u043f\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0441 Attribute{} \u0438\u0437 RFC 2986; \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435 \u00ab\u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u00bb \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u043e \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439, \u0430 \u043d\u0435 \u0432 SIZE-\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435.\u26a0\ufe0f \u0412 RFC 5280 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u043c (&#8212; at least one value is required), \u0430 \u043d\u0435 \u043a\u0430\u043a SIZE(1\u2026MAX), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0430\u0432\u0442\u043e\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f \u043f\u0430\u0440\u0441\u0435\u0440\u044b \u043f\u0443\u0441\u0442\u043e\u0439 SET \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u044f\u0442. \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 \u043d\u0435\u043f\u0443\u0441\u0442\u043e\u0442\u0443 \u0441\u0430\u043c\u0438.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>AttributeType<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">AttributeType           ::= OBJECT IDENTIFIER\u0437\u043d\u0430\u0447.: OBJECT IDENTIFIER (\u0442\u0435\u0433 0x06)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0437\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u0442\u0438\u043f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, id-at-commonName).\u26a0\ufe0f OID \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0438 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0443, \u0438 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0439 \u0442\u0438\u043f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043e\u0431\u044f\u0437\u0430\u043d\u0430 \u0443\u043c\u0435\u0442\u044c \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0435\u0437\u043d\u0430\u043a\u043e\u043c\u044b\u0435 \u0442\u0438\u043f\u044b \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432, \u0430 \u043d\u0435 \u043f\u0430\u0434\u0430\u0442\u044c \u043d\u0430 \u043d\u0438\u0445.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>AttributeTypeAndValue<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">AttributeTypeAndValue ::= SEQUENCE {     type     AttributeType,     value    AttributeValue }\u0437\u043d\u0430\u0447.: SEQUENCE (\u0442\u0435\u0433 0x30): OID + \u043e\u0434\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430 \u00ab\u0442\u0438\u043f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 (OID) \u2014 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u00bb. \u0422\u0438\u043f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0438\u043f\u043e\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430; \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u044d\u0442\u043e DirectoryString.\u26a0\ufe0f \u0417\u0434\u0435\u0441\u044c value \u2014 \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (\u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 Attribute \u0438\u0437 PKCS#10, \u0433\u0434\u0435 values \u044d\u0442\u043e SET). \u0422\u0435\u0433 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u043e\u0433\u043e \u0442\u0438\u043f\u0430: 0x13 \u0434\u043b\u044f PrintableString, 0x0C \u0434\u043b\u044f UTF8String, 0x16 \u0434\u043b\u044f IA5String \u2014 \u0435\u0434\u0438\u043d\u043e\u0433\u043e \u00ab\u0441\u0442\u0440\u043e\u043a\u043e\u0432\u043e\u0433\u043e\u00bb \u0442\u0435\u0433\u0430 \u043d\u0435\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>AttributeValue<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">AttributeValue          ::= ANY \u2013 DEFINED BY AttributeType\u0437\u043d\u0430\u0447.: \u043b\u044e\u0431\u043e\u0439 ASN.1-\u0442\u0438\u043f, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u044b\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c AttributeType<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430; \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0442\u0438\u043f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0438\u043f\u043e\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u2014 \u0432 \u043e\u0431\u0449\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e DirectoryString.\u26a0\ufe0f ANY DEFINED BY \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0430\u0440\u0441\u0435\u0440 \u043e\u0431\u044f\u0437\u0430\u043d \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u044b\u0440\u044b\u0435 \u0431\u0430\u0439\u0442\u044b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 PrintableString \u0432 UTF8String \u00ab\u0434\u043b\u044f \u0435\u0434\u0438\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u044f\u00bb \u043c\u0435\u043d\u044f\u0435\u0442 DN \u0438 \u0440\u0430\u0437\u0440\u044b\u0432\u0430\u0435\u0442 \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u043c\u0451\u043d (name chaining) \u0441 \u0443\u0436\u0435 \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u043c\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c\u0438.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>Attributes<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Attributes { ATTRIBUTE:IOSet } ::= SET OF Attribute{{ IOSet }}\u0437\u043d\u0430\u0447.: SET OF (\u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0442\u0435\u0433 0x31, \u0432 \u043f\u043e\u043b\u0435 attributes \u0437\u0430\u043c\u0435\u043d\u0451\u043d \u043d\u0430 [0] = 0xA0)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u0438\u043f-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440: \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0442\u0438\u043f\u044b \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432.\u26a0\ufe0f SET OF, \u0430 \u043d\u0435 SEQUENCE OF: \u043f\u043e DER (X.690) \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e \u043a\u0430\u043a \u043e\u043a\u0442\u0435\u0442\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438. \u041f\u0435\u0440\u0435\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0438\u043b\u0438 \u043f\u0440\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0439 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u043d\u044f\u0435\u0442 \u0431\u0430\u0439\u0442\u044b \u0438 \u043b\u043e\u043c\u0430\u0435\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u044c; RFC \u043f\u0440\u044f\u043c\u043e \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u0435\u0442 \u043d\u0435 \u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>CRIAttributes<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">CRIAttributes  ATTRIBUTE  ::= {     \u2026 \u2013 add any locally defined attributes here \u2013 }\u0437\u043d\u0430\u0447.: \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 ATTRIBUTE; \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0430\u0440\u043a\u0435\u0440 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f (\u2026)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0430\u0431\u043e\u0440 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u0437\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0442\u0438\u043f\u044b \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u0412 RFC 2986 \u043f\u0443\u0441\u0442, \u043a\u0440\u043e\u043c\u0435 \u043c\u0430\u0440\u043a\u0435\u0440\u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f.\u26a0\ufe0f \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0430\u043c PKCS#10 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043d\u0438 extensionRequest, \u043d\u0438 challengePassword \u2014 \u043e\u043d\u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u0438\u0437 PKCS #9 (RFC 2985). \u0412\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440, \u0437\u043d\u0430\u044e\u0449\u0438\u0439 \u0442\u043e\u043b\u044c\u043a\u043e RFC 2986, \u043e\u0431\u044f\u0437\u0430\u043d \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f (\u2026).<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>CertificationRequest<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">CertificationRequest ::= SEQUENCE {     certificationRequestInfo CertificationRequestInfo,     signatureAlgorithm AlgorithmIdentifier{{ SignatureAlgorithms }},     signature          BIT STRING}\u0437\u043d\u0430\u0447.: SEQUENCE (\u0442\u0435\u0433 0x30), \u0440\u043e\u0432\u043d\u043e \u0442\u0440\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041a\u043e\u0440\u043d\u0435\u0432\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043d\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442. \u0421\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c\u043e\u0439 \u0447\u0430\u0441\u0442\u0438, \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0438 \u0441\u0430\u043c\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438. \u0418\u043c\u0435\u043d\u043d\u043e \u0435\u0451 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442 \u0432 \u0444\u0430\u0439\u043b .csr (\u0432 DER \u0438\u043b\u0438 \u0432 PEM-\u043e\u0431\u0451\u0440\u0442\u043a\u0435).\u26a0\ufe0f \u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u041d\u0415 \u0432\u0441\u044f CertificationRequest, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e DER-\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u044f certificationRequestInfo, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0435\u0433\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0431\u0430\u0439\u0442\u044b \u0442\u0435\u0433\u0430 \u0438 \u0434\u043b\u0438\u043d\u044b. \u0427\u0430\u0441\u0442\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u2014 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 SEQUENCE \u0431\u0435\u0437 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c certificationRequestInfo \u0437\u0430\u043d\u043e\u0432\u043e \u043f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435: \u043b\u044e\u0431\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u0432 \u0431\u0430\u0439\u0442\u0430\u0445 (\u043f\u043e\u0440\u044f\u0434\u043e\u043a SET OF, \u0434\u043b\u0438\u043d\u0430 \u0432 \u043d\u0435\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435) \u043b\u043e\u043c\u0430\u0435\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0431\u0430\u0439\u0442\u044b \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043d\u0430\u0434\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u043a\u0430\u043a \u0435\u0441\u0442\u044c.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>CertificationRequestInfo<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">CertificationRequestInfo ::= SEQUENCE {     version       INTEGER { v1(0) } (v1,\u2026),     subject       Name,     subjectPKInfo SubjectPublicKeyInfo{{ PKInfoAlgorithms }},     attributes    [0] Attributes{{ CRIAttributes }}}\u0437\u043d\u0430\u0447.: SEQUENCE (\u0442\u0435\u0433 0x30), \u0447\u0435\u0442\u044b\u0440\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u0430: \u0432\u0435\u0440\u0441\u0438\u044f, \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0438\u043c\u044f \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0430, \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0430 \u0438 \u043d\u0430\u0431\u043e\u0440 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432.\u26a0\ufe0f \u0412\u0441\u0435 \u0447\u0435\u0442\u044b\u0440\u0435 \u043f\u043e\u043b\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b \u2014 OPTIONAL \u043d\u0435\u0442 \u043d\u0438 \u0443 \u043e\u0434\u043d\u043e\u0433\u043e, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0443 attributes. \u0415\u0441\u043b\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u043d\u0435\u0442, \u043f\u043e\u043b\u0435 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442\u0441\u044f (\u043f\u0443\u0441\u0442\u044b\u043c \u043d\u0430\u0431\u043e\u0440\u043e\u043c), \u0430 \u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>DirectoryString<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">DirectoryString ::= CHOICE {      teletexString       TeletexString   (SIZE (1\u2026MAX)),      printableString     PrintableString (SIZE (1\u2026MAX)),      universalString     UniversalString (SIZE (1\u2026MAX)),      utf8String          UTF8String      (SIZE (1\u2026MAX)),      bmpString           BMPString       (SIZE (1\u2026MAX)) }\u0437\u043d\u0430\u0447.: teletexString (0x14) | printableString (0x13) | universalString (0x1C) | utf8String (0x0C) | bmpString (0x1E); \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0423\u0426 \u041e\u0411\u042f\u0417\u0410\u041d\u042b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c PrintableString \u0438\u043b\u0438 UTF8String<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0439 \u0442\u0438\u043f-\u0432\u044b\u0431\u043e\u0440 \u0434\u043b\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u0438\u043c\u0435\u043d\u0438. RFC 5280 \u0441\u0443\u0436\u0430\u0435\u0442 \u0432\u044b\u0431\u043e\u0440: \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u044e \u0423\u0426 \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c PrintableString \u0438\u043b\u0438 UTF8String, \u0430 \u043f\u0440\u043e\u0447\u0438\u0435 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0434\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438.\u26a0\ufe0f PrintableString \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u2018@\u2019, \u2018_\u2019, \u2018*\u2019 \u0438 \u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0446\u044b \u2014 \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0442\u0430\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 PrintableString \u0434\u0430\u0451\u0442 \u0444\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u0439 DER \u0441 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u043c\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0432\u0435\u0440\u0433\u043d\u0443\u0442 \u0441\u0442\u0440\u043e\u0433\u0438\u043c\u0438 \u0432\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440\u0430\u043c\u0438. \u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 1: \u043f\u0443\u0441\u0442\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>Extension<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Extension  ::=  SEQUENCE  {     extnID      OBJECT IDENTIFIER,     critical    BOOLEAN DEFAULT FALSE,     extnValue   OCTET STRING                 \u2013 contains the DER encoding of an ASN.1 value                 \u2013 corresponding to the extension type identified                 \u2013 by extnID     }\u0437\u043d\u0430\u0447.: SEQUENCE (\u0442\u0435\u0433 0x30): OID, \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 BOOLEAN, OCTET STRING<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u0434\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435: \u0435\u0433\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440, \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u0438 \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.\u26a0\ufe0f \u0420\u043e\u0432\u043d\u043e \u0442\u0440\u0438 \u043f\u043e\u043b\u044f \u0438 \u0436\u0451\u0441\u0442\u043a\u0438\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043b\u0435\u0436\u0438\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 OCTET STRING \u043a\u0430\u043a \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439 DER \u2014 \u044d\u0442\u043e \u0434\u0432\u043e\u0439\u043d\u043e\u0435 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u043f\u0440\u0438 \u0440\u0430\u0437\u0431\u043e\u0440\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0445\u043e\u0434 \u043f\u0430\u0440\u0441\u0435\u0440\u0430 \u043f\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u043c\u0443 extnValue.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>ExtensionRequest<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">ExtensionRequest ::= Extensions\u0437\u043d\u0430\u0447.: \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 Extensions (SEQUENCE, \u0442\u0435\u0433 0x30)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 extensionRequest \u2014 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c \u0442\u0438\u043f\u0430 Extensions, \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0438\u0437 X.509 \/ \u043f\u0440\u043e\u0444\u0438\u043b\u044f PKIX.\u26a0\ufe0f \u041f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u043e\u0431\u0451\u0440\u0442\u043a\u0438, \u043d\u043e \u043e\u0431\u0451\u0440\u0442\u043a\u0430 SET \u043e\u0442 Attribute.values \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f. \u041f\u043e\u043b\u043d\u0430\u044f \u0446\u0435\u043f\u043e\u0447\u043a\u0430 \u0431\u0430\u0439\u0442\u043e\u0432 \u0442\u0430\u043a\u043e\u0432\u0430: A0 (attributes) \u2192 30 (Attribute) \u2192 06 (OID .9.14) \u2192 31 (values SET) \u2192 30 (Extensions) \u2192 30 (Extension). \u041f\u0440\u043e\u043f\u0443\u0441\u043a \u0441\u043b\u043e\u044f 0x31 \u2014 \u0441\u0430\u043c\u0430\u044f \u0447\u0430\u0441\u0442\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0440\u0443\u0447\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0435 extensionRequest.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>Extensions<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Extensions  ::=  SEQUENCE SIZE (1\u2026MAX) OF Extension\u0437\u043d\u0430\u0447.: SEQUENCE OF (\u0442\u0435\u0433 0x30), \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430. \u0412\u043d\u0443\u0442\u0440\u0438 extensionRequest \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0442\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043f\u0440\u043e\u0441\u0438\u0442 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442.\u26a0\ufe0f \u042d\u0442\u043e SEQUENCE OF (\u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f, \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430) \u2014 \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 attributes, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 SET OF. \u0418 SIZE (1\u2026MAX): \u043f\u0443\u0441\u0442\u043e\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0430\u0442\u0440\u0438\u0431\u0443\u0442 extensionRequest \u0431\u0435\u0437 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u043b\u044c\u0437\u044f \u2014 \u0435\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>Name<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Name ::= CHOICE { \u2013 only one possibility for now \u2013      rdnSequence  RDNSequence }\u0437\u043d\u0430\u0447.: \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 rdnSequence<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0422\u0438\u043f \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438 X.501. \u0424\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e CHOICE, \u043d\u043e \u043d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0438\u043c\u0435\u0435\u0442 \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u043d\u0443 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0443 \u2014 rdnSequence.\u26a0\ufe0f \u0423 CHOICE \u043d\u0435\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0442\u0435\u0433\u0430: \u0432 \u0431\u0430\u0439\u0442\u0430\u0445 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043f\u043e\u043b\u044f subject \u0441\u0440\u0430\u0437\u0443 \u0438\u0434\u0451\u0442 SEQUENCE \u043e\u0442 RDNSequence. \u041e\u0436\u0438\u0434\u0430\u043d\u0438\u0435 \u00ab\u0435\u0449\u0451 \u043e\u0434\u043d\u043e\u0433\u043e 0x30\u00bb \u2014 \u0442\u0438\u043f\u0438\u0447\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0440\u0443\u0447\u043d\u043e\u043c \u0440\u0430\u0437\u0431\u043e\u0440\u0435.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>PKInfoAlgorithms<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">PKInfoAlgorithms ALGORITHM ::= {     \u2026  \u2013 add any locally defined algorithms here \u2013 }\u0437\u043d\u0430\u0447.: \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 ALGORITHM; \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0430\u0440\u043a\u0435\u0440 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f (\u2026)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0430\u0431\u043e\u0440 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u0437\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430. \u0412 \u0441\u0430\u043c\u043e\u043c RFC 2986 \u043f\u0443\u0441\u0442, \u043a\u0440\u043e\u043c\u0435 \u043c\u0430\u0440\u043a\u0435\u0440\u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f; \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 \u0441\u0441\u044b\u043b\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438.\u26a0\ufe0f \u041f\u0443\u0441\u0442\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u0441 (\u2026) \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e RFC 2986 \u043d\u0435 \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u2014 \u043d\u0435 \u0438\u0449\u0438\u0442\u0435 \u0432 \u043d\u0451\u043c OID \u0434\u043b\u044f RSA \u0438\u043b\u0438 EC, \u0438\u0445 \u043d\u0430\u0434\u043e \u0431\u0440\u0430\u0442\u044c \u0438\u0437 PKCS #1 \/ RFC 3279 \u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>RDNSequence<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">RDNSequence ::= SEQUENCE OF RelativeDistinguishedName\u0437\u043d\u0430\u0447.: SEQUENCE OF (\u0442\u0435\u0433 0x30), \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0437\u043d\u0430\u0447\u0438\u043c<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0438\u043c\u0451\u043d (RDN), \u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0449\u0430\u044f \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438\u043c\u044f: \u043e\u0442 \u0441\u0442\u0430\u0440\u0448\u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043a \u043c\u043b\u0430\u0434\u0448\u0438\u043c.\u26a0\ufe0f \u042d\u0442\u043e SEQUENCE OF \u2014 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0437\u043d\u0430\u0447\u0438\u043c \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f. \u0412 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 DN (RFC 4514, \u0432\u044b\u0432\u043e\u0434 openssl) \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043f\u043e\u0440\u044f\u0434\u043a\u0443 \u0432 DER, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u00abCN=\u2026, O=\u2026, C=\u2026\u00bb \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 C, O, CN \u0432 \u0431\u0430\u0439\u0442\u0430\u0445 \u2014 \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043b\u0435\u0433\u043a\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044e \u0437\u0430\u0434\u043e\u043c \u043d\u0430\u043f\u0435\u0440\u0451\u0434.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>RelativeDistinguishedName<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">RelativeDistinguishedName ::= SET SIZE (1\u2026MAX) OF AttributeTypeAndValue\u0437\u043d\u0430\u0447.: SET OF (\u0442\u0435\u0433 0x31), \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u0434\u043d\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0438\u043c\u044f \u2014 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0438\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u043f\u0430\u0440 \u00ab\u0442\u0438\u043f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u2014 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u00bb. \u041e\u0431\u044b\u0447\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u0438\u043d \u044d\u043b\u0435\u043c\u0435\u043d\u0442 (multi-valued RDN \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u0434\u043a\u043e).\u26a0\ufe0f \u0412\u043d\u0443\u0442\u0440\u0438 RDN \u044d\u0442\u043e SET: \u043f\u0440\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0445 DER \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u043a\u0442\u0435\u0442\u043e\u0432, \u0438 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432 \u0431\u0430\u0439\u0442\u0430\u0445 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0451\u0442 \u0441 \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u044b \u0438\u0445 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u0438. \u041f\u043b\u044e\u0441 SIZE (1\u2026MAX) \u2014 \u043f\u0443\u0441\u0442\u043e\u0439 RDN (31 00) \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u0435\u043d, \u0445\u043e\u0442\u044f \u043f\u0443\u0441\u0442\u043e\u0439 RDNSequence (30 00) \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>SIGNED { ToBeSigned }<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">SIGNED { ToBeSigned } ::= SEQUENCE {     toBeSigned ToBeSigned,     algorithm  AlgorithmIdentifier { {SignatureAlgorithms} },     signature  BIT STRING}\u0437\u043d\u0430\u0447.: SEQUENCE (\u0442\u0435\u0433 0x30)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u0438\u043f \u0438\u0437 \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u044f RFC: CertificationRequest \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u0430\u043a SIGNED { EncodedCertificationRequestInfo } \u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435\u043c CONSTRAINED BY.\u26a0\ufe0f \u042d\u0442\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u0430 \u043f\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e, \u043d\u043e \u0438\u043c\u0435\u043d\u0430 \u043f\u043e\u043b\u0435\u0439 \u0443 \u043d\u0435\u0451 \u0434\u0440\u0443\u0433\u0438\u0435 (toBeSigned\/algorithm\/signature). \u041d\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u0435 \u0438\u0445 \u0432 \u043a\u043e\u0434 \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u0430 \u043f\u043e\u043b\u0435\u0439 PKCS#10 \u2014 \u043d\u043e\u0440\u043c\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430 \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u0438\u0437 \u0440\u0430\u0437\u0434. 4.2.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>SignatureAlgorithms<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">SignatureAlgorithms ALGORITHM ::= {     \u2026 \u2013 add any locally defined algorithms here \u2013 }\u0437\u043d\u0430\u0447.: \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 ALGORITHM; \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0430\u0440\u043a\u0435\u0440 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f (\u2026). \u041f\u0440\u0438\u043c\u0435\u0440 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0438\u0437 RFC: { NULL IDENTIFIED BY md5WithRSAEncryption }<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0430\u0431\u043e\u0440 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u041f\u0440\u0438\u043c\u0435\u0440 \u0432 RFC 2986 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442 \u0434\u043b\u044f md5WithRSAEncryption \u0441 \u0442\u0438\u043f\u043e\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 NULL.\u26a0\ufe0f \u041f\u0440\u0438\u043c\u0435\u0440 \u0432 RFC \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043d \u0441 md5WithRSAEncryption \u2014 \u044d\u0442\u043e \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0430 \u043d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430; \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c \u0435\u0433\u043e \u0432 \u0431\u043e\u0435\u0432\u043e\u043c \u043a\u043e\u0434\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>SubjectPublicKeyInfo<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">SubjectPublicKeyInfo {ALGORITHM: IOSet} ::= SEQUENCE {     algorithm        AlgorithmIdentifier {{IOSet}},     subjectPublicKey BIT STRING}\u0437\u043d\u0430\u0447.: SEQUENCE (\u0442\u0435\u0433 0x30): AlgorithmIdentifier + BIT STRING<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430: \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043a\u043b\u044e\u0447\u0430 \u0438 \u0431\u0438\u0442\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0441 \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043a\u043b\u044e\u0447\u043e\u043c.\u26a0\ufe0f \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043d\u0435\u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u0438\u043c\u0451\u043d: \u0442\u0438\u043f \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f SubjectPublicKeyInfo, \u0430 \u043f\u043e\u043b\u0435 \u0432 CertificationRequestInfo \u2014 subjectPKInfo. \u0412\u043d\u0443\u0442\u0440\u0438 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e\u043b\u044f \u043b\u0435\u0436\u0438\u0442 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439 DER (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, RSAPublicKey), \u0432\u044b\u0440\u043e\u0432\u043d\u0435\u043d\u043d\u044b\u0439 \u043f\u043e \u0433\u0440\u0430\u043d\u0438\u0446\u0435 \u0431\u0430\u0439\u0442\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>SubjectPublicKeyInfo (RFC 5280)<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">SubjectPublicKeyInfo  ::=  SEQUENCE  {     algorithm            AlgorithmIdentifier,     subjectPublicKey     BIT STRING  }\u0437\u043d\u0430\u0447.: SEQUENCE (\u0442\u0435\u0433 0x30)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0432 \u043f\u0440\u043e\u0444\u0438\u043b\u0435 PKIX. \u0411\u0430\u0439\u0442-\u0432-\u0431\u0430\u0439\u0442 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u0438\u0437 RFC 2986, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 SPKI \u0438\u0437 CSR \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u0432 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.\u26a0\ufe0f \u0423\u0426 \u043e\u0431\u044b\u0447\u043d\u043e \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u044d\u0442\u0438 \u0431\u0430\u0439\u0442\u044b \u0438\u0437 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u043a\u0430\u043a \u0435\u0441\u0442\u044c \u2014 \u0435\u0441\u043b\u0438 \u0432\u0430\u0448 CSR-\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u00bb \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043a\u043b\u044e\u0447\u0430, \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043e\u043a \u043a\u043b\u044e\u0447\u0430 (SPKI SHA-256, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0432 pinning \u0438 \u0432 CT) \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>algorithm<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">algorithm  ALGORITHM.&amp;id({IOSet})\u0437\u043d\u0430\u0447.: OBJECT IDENTIFIER (\u0442\u0435\u0433 0x06)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">OID \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430. \u0414\u043b\u044f signatureAlgorithm \u2014 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043f\u043e\u0434\u043f\u0438\u0441\u0438, \u0434\u043b\u044f SubjectPublicKeyInfo.algorithm \u2014 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430.\u26a0\ufe0f \u041e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0442\u0438\u043f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0434\u0432\u0443\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0440\u043e\u043b\u044f\u0445, \u0438 OID \u0438\u0437 \u044d\u0442\u0438\u0445 \u0440\u043e\u043b\u0435\u0439 \u043d\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c\u044b: rsaEncryption \u0432 \u043f\u043e\u043b\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0438\u043b\u0438 sha256WithRSAEncryption \u0432 \u043f\u043e\u043b\u0435 \u043a\u043b\u044e\u0447\u0430 \u2014 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0451\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432\u0440\u0443\u0447\u043d\u0443\u044e.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>attributes<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">attributes    [0] Attributes{{ CRIAttributes }}\u0437\u043d\u0430\u0447.: \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0439 \u0442\u0435\u0433 [0]; \u0432 \u0431\u0430\u0439\u0442\u0430\u0445 DER \u2014 0xA0 (constructed), \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 SET OF Attribute<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0430\u0431\u043e\u0440 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f\u043c\u0438 \u043e \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0435: challenge-password, extensionRequest \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0438\u043f\u044b \u0438\u0437 PKCS #9.\u26a0\ufe0f \u041c\u043e\u0434\u0443\u043b\u044c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d \u043a\u0430\u043a DEFINITIONS IMPLICIT TAGS, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 [0] \u0437\u0434\u0435\u0441\u044c IMPLICIT: \u0442\u0435\u0433 SET (0x31) \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 0xA0, \u0430 \u043d\u0435 \u0437\u0430\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043d\u0435\u0433\u043e. \u041a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a A0 xx 31 yy \u2026 \u2014 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0451\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 (\u044d\u0442\u043e \u0431\u044b\u043b \u0431\u044b EXPLICIT). \u041f\u043e\u043b\u0435 \u043d\u0435 OPTIONAL: \u043f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u043f\u0443\u0441\u0442\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0434\u043b\u0438\u043d\u044b \u2014 \u0440\u043e\u0432\u043d\u043e \u0434\u0432\u0430 \u0431\u0430\u0439\u0442\u0430 A0 00.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>certificationRequestInfo<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">certificationRequestInfo CertificationRequestInfo\u0437\u043d\u0430\u0447.: \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 CertificationRequestInfo (SEQUENCE, \u0442\u0435\u0433 0x30)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00ab\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043d\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e\u00bb \u2014 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c\u0430\u044f \u0447\u0430\u0441\u0442\u044c. \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u043c\u044f \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0430, \u0435\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 \u0438 \u043d\u0430\u0431\u043e\u0440 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432.\u26a0\ufe0f \u0412 \u0442\u0435\u043a\u0441\u0442\u0435 RFC 2986 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u043d\u0430\u043f\u0435\u0447\u0430\u0442\u0430\u043d\u043e \u0441 \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u043e\u0439 \u2014 \u00abcertificateRequestInfo\u00bb, \u0442\u043e\u0433\u0434\u0430 \u043a\u0430\u043a \u0432 ASN.1 \u043f\u043e\u043b\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f certificationRequestInfo. \u0412 \u043a\u043e\u0434 \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u0438\u043c\u044f \u0438\u0437 ASN.1-\u043c\u043e\u0434\u0443\u043b\u044f, \u0430 \u043d\u0435 \u0438\u0437 \u0430\u0431\u0437\u0430\u0446\u0430 \u0441 \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u044f\u043c\u0438.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>critical<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">critical    BOOLEAN DEFAULT FALSE\u0437\u043d\u0430\u0447.: TRUE (01 01 FF) | FALSE<\/p>\n<\/td>\n<td>\n<p align=\"left\">FALSE<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u0438\u0437\u043d\u0430\u043a \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f. \u0415\u0441\u043b\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f, \u043d\u0435 \u0443\u043c\u0435\u044e\u0449\u0430\u044f \u0435\u0433\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c, \u043e\u0431\u044f\u0437\u0430\u043d\u0430 \u043e\u0442\u0432\u0435\u0440\u0433\u043d\u0443\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442.\u26a0\ufe0f \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043f\u043e\u043b\u0435 \u0432\u043e \u0432\u0441\u0435\u0439 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 \u0441 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u043c DEFAULT \u2014 \u0438 \u043f\u043e DER \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0440\u0430\u0432\u043d\u043e\u0435 \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0417\u0410\u041f\u0420\u0415\u0429\u0415\u041d\u041e: FALSE \u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e, \u043f\u0438\u0441\u0430\u0442\u044c 01 01 00 \u043d\u0435\u043b\u044c\u0437\u044f. TRUE \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a 01 01 FF (\u0432\u0441\u0435 \u0431\u0438\u0442\u044b \u0435\u0434\u0438\u043d\u0438\u0446\u044b), \u0430 \u043d\u0435 01 01 01.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>extensionRequest<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">extensionRequest ATTRIBUTE ::= {        WITH SYNTAX ExtensionRequest        SINGLE VALUE TRUE        ID pkcs-9-at-extensionRequest}\u0437\u043d\u0430\u0447.: \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (SINGLE VALUE TRUE) \u0442\u0438\u043f\u0430 ExtensionRequest<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0422\u0438\u043f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043d\u0430 \u0445\u043e\u0447\u0435\u0442 \u0432\u0438\u0434\u0435\u0442\u044c \u0432 \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u043c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0435 (SAN, keyUsage, basicConstraints \u0438 \u0442. \u0434.).\u26a0\ufe0f \u041d\u0438 OID, \u043d\u0438 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u044d\u0442\u043e\u0433\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u0432 RFC 2986 \u043d\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u2014 \u0442\u0430\u043c \u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0440\u0430\u0437\u0430 \u00abthe extensionRequest attribute from PKCS #9\u00bb, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u043e\u0440\u043c\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0434\u043b\u044f \u043d\u0435\u0433\u043e RFC 2985. \u0418 \u0433\u043b\u0430\u0432\u043d\u043e\u0435: \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0438\u0437 CSR \u2014 \u044d\u0442\u043e \u043b\u0438\u0448\u044c \u043f\u043e\u0436\u0435\u043b\u0430\u043d\u0438\u0435, \u0423\u0426 \u0432\u043f\u0440\u0430\u0432\u0435 \u0438\u0445 \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>extnID<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">extnID      OBJECT IDENTIFIER\u0437\u043d\u0430\u0447.: OBJECT IDENTIFIER (\u0442\u0435\u0433 0x06)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0442\u0438\u043f\u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f; \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 ASN.1-\u0442\u0438\u043f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043b\u0435\u0436\u0430\u0449\u0435\u0433\u043e \u0432\u043d\u0443\u0442\u0440\u0438 extnValue.\u26a0\ufe0f \u041e\u0434\u043d\u043e \u0438 \u0442\u043e \u0436\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0434\u0432\u0430\u0436\u0434\u044b; \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b extnID \u2014 \u0442\u0438\u043f\u0438\u0447\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0441\u043b\u0438\u044f\u043d\u0438\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0438\u0437 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0423\u0426 \u0438 \u0438\u0437 CSR.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>extnValue<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">extnValue   OCTET STRING\u0437\u043d\u0430\u0447.: OCTET STRING (\u0442\u0435\u0433 0x04), \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 DER-\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f: \u043e\u043a\u0442\u0435\u0442\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0430\u044f DER-\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 ASN.1-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0442\u043e\u0433\u043e \u0442\u0438\u043f\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c extnID.\u26a0\ufe0f \u0412\u043d\u0443\u0442\u0440\u044c \u043a\u043b\u0430\u0434\u0451\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0430 \u043d\u0435 \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435: \u0434\u043b\u044f subjectAltName \u044d\u0442\u043e \u0431\u0430\u0439\u0442\u044b 30 xx \u2026 \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u043e\u0431\u0451\u0440\u043d\u0443\u0442\u044b\u0435 \u0432 04 yy. \u0417\u0430\u0431\u044b\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0439 OCTET STRING \u2014 \u0441\u0430\u043c\u0430\u044f \u0447\u0430\u0441\u0442\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0440\u0443\u0447\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0432 CSR.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>id-at<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">id-at OBJECT IDENTIFIER ::= { joint-iso-ccitt(2) ds(5) 4 }\u0437\u043d\u0430\u0447.: 2.5.4<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041a\u043e\u0440\u043d\u0435\u0432\u0430\u044f \u0434\u0443\u0433\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f X.500, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u0442\u0445\u043e\u0434\u044f\u0442 commonName, countryName, organizationName \u0438 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b DN.\u26a0\ufe0f \u041f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0435 \u0434\u0443\u0433\u0438 2 \u0438 5 \u0443\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043e\u0434\u0438\u043d \u0431\u0430\u0439\u0442 0x55 (40*2+5), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u0441\u0435 OID \u0432\u0438\u0434\u0430 2.5.4.n \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0441 \u0431\u0430\u0439\u0442\u043e\u0432 55 04. \u0415\u0441\u043b\u0438 \u0432 \u0434\u0430\u043c\u043f\u0435 \u0432\u0438\u0434\u0438\u0442\u0435 \u0438\u043d\u043e\u0435 \u043d\u0430\u0447\u0430\u043b\u043e \u2014 \u044d\u0442\u043e \u043d\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0438\u043c\u0435\u043d\u0438.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>id-at-commonName \/ X520CommonName<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">id-at-commonName        AttributeType ::= { id-at 3 }<\/p>\n<p>X520CommonName ::= CHOICE {<br \/>      teletexString     TeletexString   (SIZE (1\u2026ub-common-name)),<br \/>      printableString   PrintableString (SIZE (1\u2026ub-common-name)),<br \/>      universalString   UniversalString (SIZE (1\u2026ub-common-name)),<br \/>      utf8String        UTF8String      (SIZE (1\u2026ub-common-name)),<br \/>      bmpString         BMPString       (SIZE (1\u2026ub-common-name)) }<br \/>\u0437\u043d\u0430\u0447.: OID 2.5.4.3 (CN); \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u2014 PrintableString \u0438\u043b\u0438 UTF8String (\u043f\u0440\u043e\u0447\u0438\u0435 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438); \u0434\u043b\u0438\u043d\u0430 1\u2026ub-common-name = 64<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u0431\u0449\u0435\u0435 \u0438\u043c\u044f (CN). \u0412 TLS-\u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0435 \u0438\u043c\u044f, \u043d\u043e \u043d\u043e\u0440\u043c\u0430\u0442\u0438\u0432\u043d\u043e \u0438\u043c\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043f\u043e subjectAltName.\u26a0\ufe0f \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 64 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u2014 \u0436\u0451\u0441\u0442\u043a\u043e\u0435, \u0434\u043b\u0438\u043d\u043d\u044b\u0435 FQDN \u0438 \u00ab\u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u0438\u0435\u00bb \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0432 \u043d\u0435\u0433\u043e \u043d\u0435 \u0432\u043b\u0435\u0437\u0430\u044e\u0442. \u0414\u043b\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 TLS \u043d\u0435 \u043f\u043e\u043b\u0430\u0433\u0430\u0439\u0442\u0435\u0441\u044c \u043d\u0430 CN: \u0438\u043c\u044f \u0445\u043e\u0441\u0442\u0430 \u043e\u0431\u044f\u0437\u0430\u043d\u043e \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0438 subjectAltName, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 extensionRequest.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>id-at-countryName \/ X520countryName<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">id-at-countryName       AttributeType ::= { id-at 6 }<\/p>\n<p>X520countryName ::=     PrintableString (SIZE (2))<br \/>\u0437\u043d\u0430\u0447.: OID 2.5.4.6 \u00a9; \u0442\u043e\u043b\u044c\u043a\u043e PrintableString, \u0440\u043e\u0432\u043d\u043e 2 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u2014 \u0434\u0438\u0433\u0440\u0430\u0444 \u043f\u043e IS 3166<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041a\u043e\u0434 \u0441\u0442\u0440\u0430\u043d\u044b. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0438\u043c\u0435\u043d\u0438, \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f DirectoryString: \u0442\u0438\u043f \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d \u043a\u0430\u043a PrintableString \u0440\u043e\u0432\u043d\u043e \u0438\u0437 \u0434\u0432\u0443\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432.\u26a0\ufe0f \u0420\u043e\u0432\u043d\u043e \u0434\u0432\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u0438 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u0432\u044b\u0431\u043e\u0440\u0430 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438: \u2018RU\u2019 \u2014 \u043c\u043e\u0436\u043d\u043e, \u2018RUS\u2019, \u2018Russia\u2019 \u0438\u043b\u0438 \u043f\u0443\u0441\u0442\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u2014 \u043d\u0435\u0442, \u0438 UTF8String \u0437\u0434\u0435\u0441\u044c \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u0434\u0430\u0436\u0435 \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u043e\u043d \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u0435\u043d. \u041a\u043e\u0434 \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0438\u0437 IS 3166 (alpha-2), \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u2014 \u0432\u0435\u0440\u0445\u043d\u0438\u0439; \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a 13 02 \u2018R\u2019 \u2018U\u2019.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>id-at-localityName \/ X520LocalityName<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">id-at-localityName      AttributeType ::= { id-at 7 }<\/p>\n<p>X520LocalityName ::= CHOICE {<br \/>      teletexString     TeletexString   (SIZE (1\u2026ub-locality-name)),<br \/>      printableString   PrintableString (SIZE (1\u2026ub-locality-name)),<br \/>      universalString   UniversalString (SIZE (1\u2026ub-locality-name)),<br \/>      utf8String        UTF8String      (SIZE (1\u2026ub-locality-name)),<br \/>      bmpString         BMPString       (SIZE (1\u2026ub-locality-name)) }<br \/>\u0437\u043d\u0430\u0447.: OID 2.5.4.7 (L); PrintableString \u0438\u043b\u0438 UTF8String; \u0434\u043b\u0438\u043d\u0430 1\u2026ub-locality-name = 128<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043d\u0430\u0441\u0435\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u043f\u0443\u043d\u043a\u0442\u0430 (\u0433\u043e\u0440\u043e\u0434).\u26a0\ufe0f OID 2.5.4.7 \u0441\u0442\u043e\u0438\u0442 \u043f\u043e \u043d\u043e\u043c\u0435\u0440\u0443 \u043f\u0435\u0440\u0435\u0434 stateOrProvinceName (2.5.4.8), \u043d\u043e \u0432 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 DN \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043c\u043b\u0430\u0434\u0448\u0435 \u0440\u0435\u0433\u0438\u043e\u043d\u0430 \u2014 \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0434\u0443\u0433 \u043d\u0435 \u043e\u0442\u0440\u0430\u0436\u0430\u0435\u0442 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0432 RDNSequence.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>id-at-organizationName \/ X520OrganizationName<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">id-at-organizationName  AttributeType ::= { id-at 10 }<\/p>\n<p>X520OrganizationName ::= CHOICE {<br \/>      teletexString     TeletexString<br \/>                          (SIZE (1\u2026ub-organization-name)),<br \/>      printableString   PrintableString<br \/>                          (SIZE (1\u2026ub-organization-name)),<br \/>      universalString   UniversalString<br \/>                          (SIZE (1\u2026ub-organization-name)),<br \/>      utf8String        UTF8String<br \/>                          (SIZE (1\u2026ub-organization-name)),<br \/>      bmpString         BMPString<br \/>                          (SIZE (1\u2026ub-organization-name))  }<br \/>\u0437\u043d\u0430\u0447.: OID 2.5.4.10 (O); PrintableString \u0438\u043b\u0438 UTF8String; \u0434\u043b\u0438\u043d\u0430 1\u2026ub-organization-name = 64<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438. \u041e\u0434\u0438\u043d \u0438\u0437 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0423\u0426 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043f\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0434\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u0438 \u0432\u044b\u043f\u0443\u0441\u043a\u0435 OV\/EV-\u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432.\u26a0\ufe0f \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0446\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 UTF8String (\u0442\u0435\u0433 0x0C): \u0432 PrintableString \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0430\u0442\u0438\u043d\u0438\u0446\u0430, \u0446\u0438\u0444\u0440\u044b \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0437\u043d\u0430\u043a\u043e\u0432 \u043f\u0440\u0435\u043f\u0438\u043d\u0430\u043d\u0438\u044f. \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 64 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u0445 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u043e\u0433\u043e \u0442\u0438\u043f\u0430, \u0430 \u043d\u0435 \u0432 \u0431\u0430\u0439\u0442\u0430\u0445 UTF-8, \u2014 \u0434\u043b\u0438\u043d\u043d\u044b\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u0440\u0435\u0436\u0443\u0442\u0441\u044f \u0440\u0430\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u0436\u0434\u0451\u0442 \u043d\u0430\u0438\u0432\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e len(bytes).<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>id-at-organizationalUnitName \/ X520OrganizationalUnitName<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">id-at-organizationalUnitName AttributeType ::= { id-at 11 }<\/p>\n<p>X520OrganizationalUnitName ::= CHOICE {<br \/>      teletexString     TeletexString<br \/>                          (SIZE (1\u2026ub-organizational-unit-name)),<br \/>      printableString   PrintableString<br \/>                          (SIZE (1\u2026ub-organizational-unit-name)),<br \/>      universalString   UniversalString<br \/>                          (SIZE (1\u2026ub-organizational-unit-name)),<br \/>      utf8String        UTF8String<br \/>                          (SIZE (1\u2026ub-organizational-unit-name)),<br \/>      bmpString         BMPString<br \/>                          (SIZE (1\u2026ub-organizational-unit-name)) }<br \/>\u0437\u043d\u0430\u0447.: OID 2.5.4.11 (OU); PrintableString \u0438\u043b\u0438 UTF8String; \u0434\u043b\u0438\u043d\u0430 1\u2026ub-organizational-unit-name = 64<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0438\u0437 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0448\u0442\u0430\u0442\u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f \u0432 DN \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437.\u26a0\ufe0f \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e OU \u0438\u0434\u0443\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c\u0438 RDN \u0432 RDNSequence \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442 \u043f\u043e\u0440\u044f\u0434\u043e\u043a; \u0435\u0441\u043b\u0438 \u0432\u044b \u0443\u043f\u0430\u043a\u0443\u0435\u0442\u0435 \u0438\u0445 \u0432 \u043e\u0434\u0438\u043d RDN (multi-valued), DER \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0438\u0445 \u0438 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043f\u0440\u043e\u043f\u0430\u0434\u0451\u0442. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0442\u0430\u043a\u0436\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u0432 \u043c\u043e\u0434\u0443\u043b\u0435 \u0435\u0441\u0442\u044c \u043f\u043e\u0445\u043e\u0436\u0438\u0439 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0439 ub-organizational-unit-name-length = 32 (\u0434\u043b\u044f X.400-\u0430\u0434\u0440\u0435\u0441\u043e\u0432) \u2014 \u044d\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435, \u043a DN \u043e\u043d\u043e \u043d\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>id-at-stateOrProvinceName \/ X520StateOrProvinceName<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">id-at-stateOrProvinceName AttributeType ::= { id-at 8 }<\/p>\n<p>X520StateOrProvinceName ::= CHOICE {<br \/>      teletexString     TeletexString   (SIZE (1\u2026ub-state-name)),<br \/>      printableString   PrintableString (SIZE (1\u2026ub-state-name)),<br \/>      universalString   UniversalString (SIZE (1\u2026ub-state-name)),<br \/>      utf8String        UTF8String      (SIZE (1\u2026ub-state-name)),<br \/>      bmpString         BMPString       (SIZE (1\u2026ub-state-name)) }<br \/>\u0437\u043d\u0430\u0447.: OID 2.5.4.8 (ST); PrintableString \u0438\u043b\u0438 UTF8String; \u0434\u043b\u0438\u043d\u0430 1\u2026ub-state-name = 128<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0448\u0442\u0430\u0442\u0430, \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0438\u043b\u0438 \u0440\u0435\u0433\u0438\u043e\u043d\u0430.\u26a0\ufe0f \u0421\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u0432 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u2014 ST, \u0430 \u043d\u0435 S \u0438 \u043d\u0435 State; \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u0430\u0445 openssl \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u043b\u044e\u0447 stateOrProvinceName. \u041f\u0440\u0435\u0434\u0435\u043b \u0437\u0434\u0435\u0441\u044c 128, \u0430 \u043d\u0435 64, \u043a\u0430\u043a \u0443 CN \u0438 O \u2014 \u043d\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u0435 \u043e\u0434\u043d\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0434\u043b\u0438\u043d\u044b \u043d\u0430 \u0432\u0441\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0438\u043c\u0435\u043d\u0438.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>id-emailAddress \/ EmailAddress<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">id-emailAddress      AttributeType ::= { pkcs-9 1 }<\/p>\n<p>EmailAddress ::=     IA5String (SIZE (1\u2026ub-emailaddress-length))<br \/>\u0437\u043d\u0430\u0447.: OID 1.2.840.113549.1.9.1 (emailAddress); \u0442\u043e\u043b\u044c\u043a\u043e IA5String (\u0442\u0435\u0433 0x16); \u0434\u043b\u0438\u043d\u0430 1\u2026ub-emailaddress-length = 255<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0410\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b, \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0438\u043c\u044f \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0430. \u0422\u0438\u043f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u2014 IA5String, \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0438\u043c\u0432\u043e\u043b \u2018@\u2019, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435\u0442 \u0432 \u043d\u0430\u0431\u043e\u0440\u0435 PrintableString. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0435\u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b \u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0443.\u26a0\ufe0f \u042d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0438\u0437 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043d\u0435 \u0438\u0437 \u0430\u0440\u043a\u0438 2.5.4 (\u043e\u043d \u0438\u0437 pkcs-9) \u0438 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u043c \u0442\u0438\u043f\u043e\u043c IA5String \u2014 \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043a\u0430\u043a UTF8String \u0438\u043b\u0438 PrintableString \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430. RFC 5280 \u043f\u043e\u043c\u0435\u0447\u0430\u0435\u0442 \u0435\u0433\u043e \u043a\u0430\u043a legacy: \u0430\u0434\u0440\u0435\u0441 \u043f\u043e\u0447\u0442\u044b \u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043a\u043b\u0430\u0441\u0442\u044c \u0432 subjectAltName \u043a\u0430\u043a rfc822Name, \u0430 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0438\u0434\u0451\u0442 \u0431\u0435\u0437 \u0443\u0447\u0451\u0442\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430, \u0445\u043e\u0442\u044f local-part \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u043e RFC 2821 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0437\u0430\u0432\u0438\u0441\u0438\u043c \u2014 \u043e\u0442\u0441\u044e\u0434\u0430 \u0440\u0438\u0441\u043a \u0441\u043a\u043b\u0435\u0438\u0442\u044c \u0434\u0432\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u044f\u0449\u0438\u043a\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>parameters<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">parameters ALGORITHM.&amp;Type({IOSet}{<a href=\"\/users\/algorithm\" rel=\"noopener nofollow\">@algorithm<\/a>}) OPTIONAL\u0437\u043d\u0430\u0447.: \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u0438\u043f, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u044b\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u043e\u043b\u044f algorithm; \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430; \u0438\u0445 ASN.1-\u0442\u0438\u043f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f OID \u0432 \u043f\u043e\u043b\u0435 algorithm \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 ALGORITHM.\u26a0\ufe0f \u0423 \u043f\u043e\u043b\u044f \u043d\u0435\u0442 DEFAULT \u2014 \u0442\u043e\u043b\u044c\u043a\u043e OPTIONAL, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u00ab\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e NULL\u00bb \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442: NULL, \u0435\u0441\u043b\u0438 \u043e\u043d \u043d\u0443\u0436\u0435\u043d, \u043d\u0430\u0434\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u044f\u0432\u043d\u044b\u043c\u0438 \u0431\u0430\u0439\u0442\u0430\u043c\u0438 05 00.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>pkcs-9<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">pkcs-9 OBJECT IDENTIFIER ::= {iso(1) member-body(2) us(840)                              rsadsi(113549) pkcs(1) 9}\u0437\u043d\u0430\u0447.: 1.2.840.113549.1.9<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041a\u043e\u0440\u043d\u0435\u0432\u0430\u044f \u0434\u0443\u0433\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 PKCS #9, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u0442\u0445\u043e\u0434\u044f\u0442 extensionRequest (14), challengePassword (7) \u0438 emailAddress (1).\u26a0\ufe0f \u0412 RFC 5280 \u0442\u0430 \u0436\u0435 \u0430\u0440\u043a\u0430 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0430 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u00ab&#8212; Legacy attributes\u00bb \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043a\u0430\u043a { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 } \u2014 \u0447\u0438\u0441\u043b\u0430 \u0442\u0435 \u0436\u0435, \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0430\u0437\u043d\u043e\u0435; \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u043d\u0430\u0434\u043e \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0430 \u043d\u0435 \u0441\u0442\u0440\u043e\u043a\u0443.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>pkcs-9-at-extensionRequest<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">pkcs-9-at-extensionRequest         OBJECT IDENTIFIER ::= {pkcs-9 14}\u0437\u043d\u0430\u0447.: 1.2.840.113549.1.9.14 (\u0432 DER: 06 09 2A 86 48 86 F7 0D 01 09 0E)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 extensionRequest, \u0447\u0435\u0442\u044b\u0440\u043d\u0430\u0434\u0446\u0430\u0442\u0430\u044f \u0434\u0443\u0433\u0430 \u0430\u0440\u043a\u0438 pkcs-9.\u26a0\ufe0f \u041b\u0435\u0433\u043a\u043e \u043f\u0435\u0440\u0435\u043f\u0443\u0442\u0430\u0442\u044c \u0441 pkcs-9-at-extendedCertificateAttributes {pkcs-9 9} (\u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0439) \u0438 pkcs-9-at-signingDescription {pkcs-9 13}. \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0434\u0443\u0433\u0443: 14, \u0442\u043e \u0435\u0441\u0442\u044c \u0431\u0430\u0439\u0442 0x0E \u0432 \u043a\u043e\u043d\u0446\u0435 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e OID.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>signature<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">signature          BIT STRING\u0437\u043d\u0430\u0447.: BIT STRING (\u0442\u0435\u0433 0x03)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 DER-\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 certificationRequestInfo \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043b\u044e\u0447\u043e\u043c \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439.\u26a0\ufe0f \u041f\u0435\u0440\u0432\u044b\u0439 \u043e\u043a\u0442\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e BIT STRING \u2014 \u044d\u0442\u043e \u0441\u0447\u0451\u0442\u0447\u0438\u043a \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0431\u0438\u0442, \u0430 \u043d\u0435 \u043d\u0430\u0447\u0430\u043b\u043e \u043f\u043e\u0434\u043f\u0438\u0441\u0438. \u0414\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u043e\u043d \u0432\u0441\u0435\u0433\u0434\u0430 0x00, \u0438 \u0435\u0433\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0437\u0430\u0431\u044b\u0442\u044c \u043f\u0440\u0438 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u0440\u0438 \u0440\u0430\u0437\u0431\u043e\u0440\u0435; \u0438\u043d\u0430\u0447\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u044c \u00ab\u0441\u044a\u0435\u0437\u0436\u0430\u0435\u0442\u00bb \u043d\u0430 \u0431\u0430\u0439\u0442 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0440\u043e\u0432\u0430\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>signatureAlgorithm<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">signatureAlgorithm AlgorithmIdentifier{{ SignatureAlgorithms }}\u0437\u043d\u0430\u0447.: AlgorithmIdentifier, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u043d\u0430\u0431\u043e\u0440\u043e\u043c SignatureAlgorithms (\u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c\u044b\u043c: \u2026)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043f\u043e\u0434\u043f\u0438\u0441\u0438 (\u0438 \u0435\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b), \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 RFC \u2014 \u043e\u0431\u044a\u0435\u043a\u0442 ALGORITHM \u0434\u043b\u044f md5WithRSAEncryption \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 NULL.\u26a0\ufe0f \u0414\u043b\u044f RSA-\u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 PKCS#1 \u043f\u043e\u043b\u0435 parameters \u043e\u0431\u044f\u0437\u0430\u043d\u043e \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0438 \u0431\u044b\u0442\u044c \u044f\u0432\u043d\u044b\u043c NULL (05 00), \u0430 \u043d\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c; \u0434\u043b\u044f ECDSA \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442, \u043e\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u0441\u044f. \u0412\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044e\u0442 \u0431\u0430\u0439\u0442\u044b AlgorithmIdentifier \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u043e, \u0438 \u043b\u0438\u0448\u043d\u0438\u0439\/\u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439 NULL \u2014 \u0442\u0438\u043f\u0438\u0447\u043d\u0430\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u00absignature algorithm mismatch\u00bb.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>subject<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">subject       Name\u0437\u043d\u0430\u0447.: Name (CHOICE \u2192 rdnSequence, \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a SEQUENCE, \u0442\u0435\u0433 0x30)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u0442\u043b\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0438\u043c\u044f (DN) \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u2014 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438, \u0447\u0435\u0439 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d.\u26a0\ufe0f Name \u2014 \u044d\u0442\u043e CHOICE, \u0430 \u043d\u0435 SEQUENCE: \u0443 \u0441\u0430\u043c\u043e\u0433\u043e CHOICE \u043d\u0435\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0442\u0435\u0433\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u0431\u0430\u0439\u0442\u0430\u0445 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f SEQUENCE \u043e\u0442 RDNSequence, \u0431\u0435\u0437 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u0451\u0440\u0442\u043a\u0438. \u041f\u0443\u0441\u0442\u043e\u0439 DN \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a 30 00 \u2014 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u043b\u0438\u0434\u043d\u043e \u0434\u043b\u044f PKCS#10, \u043d\u043e \u043c\u043d\u043e\u0433\u0438\u0435 \u0423\u0426 \u0442\u0430\u043a\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043e\u0442\u043a\u043b\u043e\u043d\u044f\u044e\u0442, \u0442\u0440\u0435\u0431\u0443\u044f \u043d\u0435\u043f\u0443\u0441\u0442\u043e\u0435 \u0438\u043c\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>subjectPKInfo<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">subjectPKInfo SubjectPublicKeyInfo{{ PKInfoAlgorithms }}\u0437\u043d\u0430\u0447.: SubjectPublicKeyInfo, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u043d\u0430\u0431\u043e\u0440\u043e\u043c PKInfoAlgorithms (\u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c\u044b\u043c: \u2026)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e\u0431 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u043a\u043b\u044e\u0447\u0435: \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043a\u043b\u044e\u0447\u0430 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0438 \u0431\u0438\u0442\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0441 \u0441\u0430\u043c\u0438\u043c \u043a\u043b\u044e\u0447\u043e\u043c. \u0414\u043b\u044f rsaEncryption \u0431\u0438\u0442\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 DER-\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0442\u0438\u043f\u0430 RSAPublicKey \u0438\u0437 PKCS #1.\u26a0\ufe0f \u0418\u043c\u044f \u043f\u043e\u043b\u044f \u0432 ASN.1 \u2014 subjectPKInfo, \u0430 \u0432 \u043f\u043e\u044f\u0441\u043d\u044f\u044e\u0449\u0435\u043c \u0442\u0435\u043a\u0441\u0442\u0435 RFC 2986 \u043e\u043d\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u043e subjectPublicKeyInfo; \u0432 \u043a\u043e\u0434\u0435 \u0438 \u0432 \u0441\u0445\u0435\u043c\u0430\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 subjectPKInfo. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432\u043d\u0443\u0442\u0440\u044c BIT STRING \u043a\u043b\u0430\u0434\u0451\u0442\u0441\u044f \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u0430\u044f DER-\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043a\u043b\u044e\u0447\u0430, \u0430 \u043d\u0435 \u00ab\u0441\u044b\u0440\u044b\u0435\u00bb \u0431\u0430\u0439\u0442\u044b \u043c\u043e\u0434\u0443\u043b\u044f \u0438 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>subjectPublicKey<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">subjectPublicKey BIT STRING\u0437\u043d\u0430\u0447.: BIT STRING (\u0442\u0435\u0433 0x03)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0411\u0438\u0442\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0430. \u0414\u043b\u044f rsaEncryption \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 DER-\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0442\u0438\u043f\u0430 RSAPublicKey \u0438\u0437 PKCS #1.\u26a0\ufe0f \u041f\u0435\u0440\u0432\u044b\u0439 \u0431\u0430\u0439\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u2014 \u0447\u0438\u0441\u043b\u043e \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0431\u0438\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u043e\u043a\u0442\u0435\u0442\u0430, \u0434\u043b\u044f \u043a\u043b\u044e\u0447\u0430 \u043e\u043d \u0432\u0441\u0435\u0433\u0434\u0430 0x00. \u041f\u0440\u0438 \u0440\u0430\u0437\u0431\u043e\u0440\u0435 \u044d\u0442\u043e\u0442 \u0431\u0430\u0439\u0442 \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u043e\u043c \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0438\u043d\u0430\u0447\u0435 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439 DER \u043d\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0435\u0442\u0441\u044f; \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u2014 \u043d\u0435 \u0437\u0430\u0431\u044b\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>type<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">type   ATTRIBUTE.&amp;id({IOSet})\u0437\u043d\u0430\u0447.: OBJECT IDENTIFIER (\u0442\u0435\u0433 0x06)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0437\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u0442\u0438\u043f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430; \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 ASN.1-\u0442\u0438\u043f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 \u043f\u043e\u043b\u0435 values.\u26a0\ufe0f OID \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 base-128 \u0441 \u043f\u0435\u0440\u0432\u044b\u043c \u0431\u0430\u0439\u0442\u043e\u043c 40*x+y \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u044b\u0445 \u0434\u0432\u0443\u0445 \u0434\u0443\u0433 \u2014 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0431\u0430\u0439\u0442\u0443 \u043d\u0435\u043b\u044c\u0437\u044f. \u0414\u043b\u044f 1.2.840.113549.1.9.14 \u043f\u0435\u0440\u0432\u044b\u0439 \u0431\u0430\u0439\u0442 \u0440\u0430\u0432\u0435\u043d 0x2A, \u0430 840 \u0438 113549 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u043f\u043e \u0434\u0432\u0430 \u0438 \u0442\u0440\u0438 \u0431\u0430\u0439\u0442\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>ub-common-name<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">ub-common-name INTEGER ::= 64\u0437\u043d\u0430\u0447.: 64<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 commonName \u0432 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u0445.\u26a0\ufe0f 64 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u2014 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u043e\u0442 \u043f\u0440\u0435\u0434\u0435\u043b, \u0438\u0437-\u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e CN \u043d\u0435\u043b\u044c\u0437\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0434\u043b\u044f \u0434\u043b\u0438\u043d\u043d\u044b\u0445 \u0434\u043e\u043c\u0435\u043d\u043d\u044b\u0445 \u0438\u043c\u0451\u043d \u0438 \u0441\u043f\u0438\u0441\u043a\u043e\u0432 \u0445\u043e\u0441\u0442\u043e\u0432.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>ub-emailaddress-length<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">ub-emailaddress-length INTEGER ::= 255\u0437\u043d\u0430\u0447.: 255<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 emailAddress \u0432 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u0445.\u26a0\ufe0f \u0412 RFC 3280 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0432\u043d\u044f\u043b\u043e\u0441\u044c 128 \u0438 \u0431\u044b\u043b\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u043e \u0434\u043e 255 \u0432 RFC 5280 \u0440\u0430\u0434\u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u0441 PKCS #9. \u0421\u0442\u0430\u0440\u044b\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0441\u0442\u0430\u0440\u044b\u0435 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0435 \u0432\u0435\u043a\u0442\u043e\u0440\u044b \u0432\u0441\u0451 \u0435\u0449\u0451 \u0440\u0435\u0436\u0443\u0442 \u0430\u0434\u0440\u0435\u0441 \u043d\u0430 128 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u0445.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>ub-locality-name<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">ub-locality-name INTEGER ::= 128\u0437\u043d\u0430\u0447.: 128<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 localityName \u0432 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u0445.\u26a0\ufe0f \u0421\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 ub-state-name (128) \u0438 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 ub-common-name (64) \u2014 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 DN \u0440\u0430\u0437\u043d\u044b\u0435, \u0435\u0434\u0438\u043d\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u043d\u0435\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>ub-organization-name<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">ub-organization-name INTEGER ::= 64\u0437\u043d\u0430\u0447.: 64<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 organizationName \u0432 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u0445.\u26a0\ufe0f \u041d\u0435 \u043f\u0443\u0442\u0430\u0439\u0442\u0435 \u0441 ub-organization-name-length INTEGER ::= 64 \u0438\u0437 X.400-\u0447\u0430\u0441\u0442\u0438 \u0442\u043e\u0433\u043e \u0436\u0435 \u043c\u043e\u0434\u0443\u043b\u044f: \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442, \u043d\u043e \u044d\u0442\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0442\u0438\u043f\u043e\u0432, \u0438 \u043e\u043f\u043e\u0440\u0430 \u043d\u0430 \u00ab\u0442\u043e \u0436\u0435 \u0438\u043c\u044f \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b\u00bb \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u0432\u0430\u0441 \u043d\u0435 \u0432 \u0442\u043e\u0442 \u0440\u0430\u0437\u0434\u0435\u043b.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>ub-organizational-unit-name<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">ub-organizational-unit-name INTEGER ::= 64\u0437\u043d\u0430\u0447.: 64<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 organizationalUnitName \u0432 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u0445.\u26a0\ufe0f \u0412 \u0442\u043e\u043c \u0436\u0435 \u043c\u043e\u0434\u0443\u043b\u0435 \u0435\u0441\u0442\u044c ub-organizational-unit-name-length INTEGER ::= 32 \u2014 \u044d\u0442\u043e X.400-\u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c. \u0414\u043b\u044f DN \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u043c\u0435\u043d\u043d\u043e 64.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>ub-state-name<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">ub-state-name INTEGER ::= 128\u0437\u043d\u0430\u0447.: 128<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 stateOrProvinceName \u0432 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u0445.\u26a0\ufe0f 128, \u0430 \u043d\u0435 64 \u2014 \u043e\u0431\u0449\u0430\u044f \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044f \u00ab\u0432\u0441\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b DN \u043d\u0435 \u0434\u043b\u0438\u043d\u043d\u0435\u0435 64\u00bb \u043e\u0442\u0431\u0440\u0430\u043a\u0443\u0435\u0442 \u0444\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>values<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">values SET SIZE(1\u2026MAX) OF ATTRIBUTE.&amp;Type({IOSet}{<a href=\"\/users\/type\" rel=\"noopener nofollow\">@type<\/a>})\u0437\u043d\u0430\u0447.: SET (\u0442\u0435\u0433 0x31), \u043e\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043e MAX<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430; \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 ASN.1-\u0442\u0438\u043f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f OID \u0438\u0437 \u043f\u043e\u043b\u044f type (\u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u0438\u043f, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0439 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435\u043c {<a href=\"\/users\/type\" rel=\"noopener nofollow\">@type<\/a>}).\u26a0\ufe0f \u042d\u043b\u0435\u043c\u0435\u043d\u0442\u044b SET \u0441\u043e\u0440\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043f\u043e DER \u043f\u043e \u0438\u0445 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043e\u043a\u0442\u0435\u0442\u0430\u043c. \u0415\u0441\u043b\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432 \u0431\u0430\u0439\u0442\u0430\u0445 \u043c\u043e\u0433\u0443\u0442 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c \u2014 \u043f\u0440\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u044d\u0442\u043e \u0434\u0430\u0451\u0442 \u0434\u0440\u0443\u0433\u043e\u0439 DER.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>version<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">version       INTEGER { v1(0) } (v1,\u2026)\u0437\u043d\u0430\u0447.: v1(0); \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 (v1,\u2026) \u2014 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c\u043e\u0435, \u043d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 0<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u043e\u043c\u0435\u0440 \u0432\u0435\u0440\u0441\u0438\u0438, \u0432\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0439 \u0434\u043b\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 \u0431\u0443\u0434\u0443\u0449\u0438\u043c\u0438 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f\u043c\u0438. \u0414\u043b\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430 \u0440\u0430\u0432\u0435\u043d 0.\u26a0\ufe0f \u0423 INTEGER \u043d\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f DEFAULT \u2014 \u043d\u043e\u043b\u044c \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u044f\u0432\u043d\u043e \u043a\u0430\u043a 02 01 00 \u0438 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f. \u041e\u0431\u0449\u0435\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0434\u043b\u044f INTEGER: \u0435\u0441\u043b\u0438 \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0438\u0442 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0431\u0430\u0439\u0442\u0430 \u0440\u0430\u0432\u0435\u043d 1, \u043d\u0430\u0434\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432\u0435\u0434\u0443\u0449\u0438\u0439 0x00, \u0438\u043d\u0430\u0447\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0447\u0442\u0451\u0442\u0441\u044f \u043a\u0430\u043a \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 (\u0432\u0430\u0436\u043d\u043e \u0434\u043b\u044f \u0441\u0435\u0440\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430 \u0438 \u043c\u043e\u0434\u0443\u043b\u044f RSA, \u0430 \u043d\u0435 \u0434\u043b\u044f \u0441\u0430\u043c\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438).<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<blockquote>\n<p><strong>\u0412\u0435\u0440\u0441\u0438\u0438 \u0438 \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0435 \u043a\u0430\u043c\u043d\u0438:<\/strong><\/p>\n<ul>\n<li>\n<p>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u2014 RFC 2986; \u0442\u0438\u043f\u044b \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438 \u0438 \u0438\u0445 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435 \u0442\u0438\u043f\u044b \u2014 RFC 5280.<\/p>\n<\/li>\n<li>\n<p><code>attributes<\/code> \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043e \u043a\u0430\u043a <code>[0] IMPLICIT<\/code>: \u043f\u0443\u0441\u0442\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0442\u0435\u0433\u043e\u043c \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u0430 \u043d\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442. \u042d\u0442\u043e \u043f\u0435\u0440\u0432\u043e\u0435, \u043e\u0431\u043e \u0447\u0442\u043e \u0441\u043f\u043e\u0442\u044b\u043a\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u0440\u0443\u0447\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0435.<\/p>\n<\/li>\n<li>\n<p><code>INTEGER<\/code> \u0441\u043e \u0441\u0442\u0430\u0440\u0448\u0438\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u043c \u0431\u0438\u0442\u043e\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0432\u0435\u0434\u0443\u0449\u0435\u0433\u043e \u043d\u0443\u043b\u0435\u0432\u043e\u0433\u043e \u0431\u0430\u0439\u0442\u0430, \u0438\u043d\u0430\u0447\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435. \u041f\u0435\u0440\u0432\u044b\u0439 \u0431\u0430\u0439\u0442 <code>BIT STRING<\/code> \u2014 \u0447\u0438\u0441\u043b\u043e \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0431\u0438\u0442, \u0434\u043b\u044f \u0446\u0435\u043b\u044b\u0445 \u0431\u0430\u0439\u0442\u043e\u0432 \u044d\u0442\u043e \u043d\u043e\u043b\u044c.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0432\u0435\u0440\u0435\u043d\u043e \u0441: <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc2986\" rel=\"noopener nofollow\">https:\/\/www.rfc-editor.org\/rfc\/rfc2986<\/a>, <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc5280\" rel=\"noopener nofollow\">https:\/\/www.rfc-editor.org\/rfc\/rfc5280<\/a>, <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc2985\" rel=\"noopener nofollow\">https:\/\/www.rfc-editor.org\/rfc\/rfc2985<\/a><\/p>\n<\/li>\n<\/ul>\n<\/blockquote>\n<\/div>\n<\/details>\n<h4>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a: WebCrypto<\/h4>\n<details class=\"spoiler\">\n<summary>\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u2014 62 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 (Web Crypto API)<\/summary>\n<div class=\"spoiler__content\">\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \/ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041f\u043e \u0443\u043c\u043e\u043b\u0447.<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438 \u043d\u044e\u0430\u043d\u0441\u044b<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>AES-KW<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Registration \u00a730.2: wrapKey | None | byte sequence; unwrapKey | None | byte sequence; generateKey | AesKeyGenParams; importKey | None; exportKey | None<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u043b\u044f \u043e\u0431\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0439 (RFC 3394).\u26a0\ufe0f encrypt\/decrypt \u0434\u043b\u044f AES-KW \u041d\u0415 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u0448\u0438\u0444\u0440 \u043d\u0435\u043b\u044c\u0437\u044f. \u0418 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442: wrapKey\/unwrapKey \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 AES-KW, \u0430 \u0441 \u043b\u044e\u0431\u044b\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0435\u0441\u0442\u044c encrypt\/decrypt (AES-GCM, AES-CBC, RSA-OAEP), \u2014 \u043f\u0440\u043e\u0441\u0442\u043e \u0443 AES-KW \u044d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c. Parameters = None, \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 iv \u043d\u0435 \u043d\u0443\u0436\u0435\u043d.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>AesCbcParams \/ AesCtrParams<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary AesCbcParams : Algorithm { required BufferSource iv; }; dictionary AesCtrParams : Algorithm { required BufferSource counter; required [EnforceRange] octet length; };<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b encrypt\/decrypt \u0434\u043b\u044f AES-CBC \u0438 AES-CTR \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.\u26a0\ufe0f \u0423 CTR \u0447\u043b\u0435\u043d \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f counter, \u0430 \u043d\u0435 iv, \u0438 \u0440\u044f\u0434\u043e\u043c \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u0435\u043d length \u2014 \u044d\u0442\u043e \u0447\u0438\u0441\u043b\u043e \u0431\u0438\u0442\u043e\u0432 \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0430 \u0412\u041d\u0423\u0422\u0420\u0418 \u0431\u043b\u043e\u043a\u0430 counter (\u0442\u0438\u043f octet), \u0430 \u043d\u0435 \u0434\u043b\u0438\u043d\u0430 \u043a\u043b\u044e\u0447\u0430 \u0438 \u043d\u0435 \u0434\u043b\u0438\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445. \u041e\u0431\u0430 \u0440\u0435\u0436\u0438\u043c\u0430 \u043d\u0435 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435: \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e (\u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 AES-GCM).<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>AesGcmParams<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary AesGcmParams : Algorithm { required BufferSource iv; BufferSource additionalData; [EnforceRange] octet tagLength; };\u0437\u043d\u0430\u0447.: tagLength: octet (\u0432 \u0431\u0438\u0442\u0430\u0445)<\/p>\n<\/td>\n<td>\n<p align=\"left\">tagLength \u2014 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u0435\u043d; additionalData \u2014 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u0435\u043d<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b encrypt\/decrypt \u0434\u043b\u044f AES-GCM. \u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e iv.\u26a0\ufe0f iv \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u0435\u043d \u0438 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0423\u041d\u0418\u041a\u0410\u041b\u042c\u041d\u042b\u041c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0435\u043c \u0436\u0435 \u043a\u043b\u044e\u0447\u043e\u043c \u2014 \u043f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043b\u043e\u043c\u0430\u0435\u0442 GCM. tagLength \u0438\u043c\u0435\u0435\u0442 \u0442\u0438\u043f octet, \u0442\u043e \u0435\u0441\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c 255, \u0438 \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u0432 \u0431\u0438\u0442\u0430\u0445 (\u043e\u0431\u044b\u0447\u043d\u043e 128); \u0442\u0435\u0433 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0439 ArrayBuffer, \u0430 \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e. additionalData \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u043d\u043e \u043d\u0435 \u0448\u0438\u0444\u0440\u0443\u0435\u0442\u0441\u044f, \u0438 \u043f\u0440\u0438 decrypt \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c \u0431\u0430\u0439\u0442 \u0432 \u0431\u0430\u0439\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>AesKeyGenParams \/ AesDerivedKeyParams<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary AesKeyGenParams : Algorithm { required [EnforceRange] unsigned short length; }; dictionary AesDerivedKeyParams : Algorithm { required [EnforceRange] unsigned short length; };\u0437\u043d\u0430\u0447.: length: 128, 192, 256 (\u0431\u0438\u0442)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b generateKey (\u0438, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, derivedKeyType \u043f\u0440\u0438 deriveKey) \u0434\u043b\u044f AES-CTR, AES-CBC, AES-GCM, AES-KW.\u26a0\ufe0f \u0414\u0432\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u0441 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u043c \u0441\u043e\u0441\u0442\u0430\u0432\u043e\u043c \u2014 \u043b\u0435\u0433\u043a\u043e \u043f\u0435\u0440\u0435\u043f\u0443\u0442\u0430\u0442\u044c, \u043d\u043e \u0432 \u0446\u0435\u043f\u043e\u0447\u043a\u0435 deriveKey \u043d\u0443\u0436\u0435\u043d \u0438\u043c\u0435\u043d\u043d\u043e AesDerivedKeyParams. length \u0432 \u0411\u0418\u0422\u0410\u0425; \u0442\u0438\u043f unsigned short, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 256 \u2014 \u044d\u0442\u043e 256, \u0430 \u043d\u0435 32 \u0431\u0430\u0439\u0442\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>Algorithm<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary Algorithm { required DOMString name; };<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0434\u043b\u044f \u0412\u0421\u0415\u0425 \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432. \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u0438\u043d \u0447\u043b\u0435\u043d \u2014 name.\u26a0\ufe0f \u042d\u0442\u043e \u043a\u043e\u0440\u0435\u043d\u044c \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438: RsaKeyGenParams : Algorithm, EcKeyGenParams : Algorithm, EcdsaParams : Algorithm, RsaPssParams : Algorithm, AesGcmParams : Algorithm \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0415\u0441\u043b\u0438 \u0432 \u0446\u0435\u043f\u043e\u0447\u043a\u0435 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435 \u0434\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u00ab: Algorithm\u00bb, \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f, \u0447\u0442\u043e \u0443 \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u043d\u0435\u0442 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e name \u2014 \u0430 \u0431\u0435\u0437 \u043d\u0435\u0433\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>Algorithm.name<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">required DOMString name;\u0437\u043d\u0430\u0447.: \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430: \u201cRSASSA-PKCS1-v1_5\u201d, \u201cRSA-PSS\u201d, \u201cRSA-OAEP\u201d, \u201cECDSA\u201d, \u201cECDH\u201d, \u201cEd25519\u201d, \u201cX25519\u201d, \u201cAES-CTR\u201d, \u201cAES-CBC\u201d, \u201cAES-GCM\u201d, \u201cAES-KW\u201d, \u201cHMAC\u201d, \u201cSHA-1\u201d, \u201cSHA-256\u201d, \u201cSHA-384\u201d, \u201cSHA-512\u201d, \u201cHKDF\u201d, \u201cPBKDF2\u201d<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0427\u043b\u0435\u043d \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u0411\u0410\u0417\u041e\u0412\u041e\u041c\u0423 \u0441\u043b\u043e\u0432\u0430\u0440\u044e Algorithm. \u0414\u043e\u0447\u0435\u0440\u043d\u0438\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u0438 (RsaHashedKeyGenParams, EcKeyGenParams, EcdsaParams, \u2026) \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442 \u0435\u0433\u043e \u043f\u043e \u043d\u0430\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0443 \u0438 \u041d\u0415 \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 name.\u26a0\ufe0f \u041f\u0440\u0438\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c name \u0434\u043e\u0447\u0435\u0440\u043d\u0435\u043c\u0443 \u0441\u043b\u043e\u0432\u0430\u0440\u044e \u2014 \u043e\u0448\u0438\u0431\u043a\u0430 \u0447\u0442\u0435\u043d\u0438\u044f IDL: \u0432 \u00a720.4 \u0443 RsaHashedKeyGenParams \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e hash, \u0430 \u0432 \u00a723.4 \u0443 EcKeyGenParams \u2014 \u0442\u043e\u043b\u044c\u043a\u043e namedCurve. \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0438\u043c\u0451\u043d \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0435 (\u00aba case-sensitive string match\u00bb): \u201caes-gcm\u201d \u043d\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0435\u0442\u0441\u044f. \u0421\u0442\u0440\u043e\u043a\u0430 \u0432\u043c\u0435\u0441\u0442\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e DOMString \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u0432 Algorithm \u0441 \u044d\u0442\u0438\u043c name.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>AlgorithmIdentifier<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">typedef (object or DOMString) AlgorithmIdentifier;<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0422\u0438\u043f \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 algorithm \u0443 \u0432\u0441\u0435\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432: \u043b\u0438\u0431\u043e \u043e\u0431\u044a\u0435\u043a\u0442-\u0441\u043b\u043e\u0432\u0430\u0440\u044c, \u043b\u0438\u0431\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u0430 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c.\u26a0\ufe0f \u0421\u0442\u0440\u043e\u043a\u0430 \u2014 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0430\u0445\u0430\u0440: \u043e\u043d\u0430 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u00aba new Algorithm dictionary whose name attribute is alg\u00bb. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0442\u0440\u043e\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043c, \u0433\u0434\u0435 Parameters = None (SHA-*, HMAC.sign, RSASSA-PKCS1-v1_5.sign, Ed25519.sign). \u0414\u043b\u044f RSA-PSS, ECDSA, AES-GCM \u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u043d\u0443\u0436\u0435\u043d \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442. \u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0447\u043b\u0435\u043d\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043f\u0440\u0438 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u2014 \u043c\u043e\u043b\u0447\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>BigInteger<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">typedef Uint8Array BigInteger;<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0422\u0438\u043f \u0447\u043b\u0435\u043d\u0430 publicExponent \u0432 RsaKeyGenParams \u2014 big-endian \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430.\u26a0\ufe0f \u042d\u0442\u043e Uint8Array, \u0430 \u043d\u0435 number \u0438 \u043d\u0435 BigInt: \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 65537 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a new Uint8Array([0x01, 0x00, 0x01]). \u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0447\u0438\u0441\u043b\u0430 65537 \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0435 \u043a\u043e\u043d\u0432\u0435\u0440\u0441\u0438\u0438 WebIDL.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>Crypto.getRandomValues()<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">ArrayBufferView getRandomValues(ArrayBufferView array);<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0439 \u0442\u0438\u043f\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0442\u043e\u0439\u043a\u0438\u043c\u0438 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0435\u0433\u043e \u0436\u0435 (\u0442\u043e\u0442 \u0436\u0435 \u043e\u0431\u044a\u0435\u043a\u0442, \u043d\u0435 \u043a\u043e\u043f\u0438\u044e).\u26a0\ufe0f \u0416\u0451\u0441\u0442\u043a\u0438\u0439 \u043b\u0438\u043c\u0438\u0442: \u0431\u043e\u043b\u044c\u0448\u0435 65536 \u0431\u0430\u0439\u0442 \u0437\u0430 \u0432\u044b\u0437\u043e\u0432 \u2014 QuotaExceededError. Float32Array \u0438 Float64Array \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u044b (TypeMismatchError). \u041d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 secure context, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 subtle \u0438 randomUUID.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>Crypto.randomUUID()<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">[SecureContext] DOMString randomUUID();<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 UUID v4 \u0432 \u0432\u0438\u0434\u0435 \u0441\u0442\u0440\u043e\u043a\u0438.\u26a0\ufe0f \u041f\u043e\u043c\u0435\u0447\u0435\u043d [SecureContext] \u2014 \u0432 HTTP-\u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 \u043d\u0435\u0442. \u0412 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 2017 \u0433\u043e\u0434\u0430 \u0435\u0433\u043e \u043d\u0435\u0442 \u0432\u043e\u0432\u0441\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044d\u0442\u043e \u0447\u0430\u0441\u0442\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0440\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 \u00ab\u0441\u043f\u0435\u043a\u043e\u0439\u00bb \u0438 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u043c\u0438.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>Crypto.subtle<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">[SecureContext] readonly attribute SubtleCrypto subtle;<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u043a\u043e \u0432\u0441\u0435\u043c \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c. \u0421\u0430\u043c \u043e\u0431\u044a\u0435\u043a\u0442 Crypto \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043a\u0430\u043a window.crypto \/ self.crypto.\u26a0\ufe0f [SecureContext] \u0441\u0442\u043e\u0438\u0442 \u043d\u0430 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0435 subtle, \u0430 \u043d\u0435 \u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 Crypto: \u0432 \u043d\u0435\u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043e\u0431\u044a\u0435\u043a\u0442 crypto \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0438 getRandomValues \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0430 crypto.subtle \u2014 undefined. \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043d\u0430\u0434\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u0435 subtle, \u0430 \u043d\u0435 crypto.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>CryptoKey<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">[SecureContext,Exposed=(Window,Worker),Serializable] interface CryptoKey { readonly attribute KeyType type; readonly attribute boolean extractable; readonly attribute object algorithm; readonly attribute object usages; };<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0435\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b. \u0420\u041e\u0412\u041d\u041e \u0447\u0435\u0442\u044b\u0440\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430, \u0432\u0441\u0435 readonly: type, extractable, algorithm, usages. \u041c\u0435\u0442\u043e\u0434\u043e\u0432 \u0443 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043d\u0435\u0442.\u26a0\ufe0f \u042d\u0442\u043e interface, \u0430 \u043d\u0435 dictionary \u2014 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 \u043d\u0435\u0442, \u043e\u0431\u044a\u0435\u043a\u0442 \u043d\u0435\u043b\u044c\u0437\u044f \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u043e\u043c, \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u0437 generateKey\/importKey\/deriveKey\/unwrapKey. \u041f\u043e\u043c\u0435\u0447\u0435\u043d [Serializable]: \u043a\u043b\u044e\u0447 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 postMessage \u0438 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 IndexedDB, \u0438 \u043d\u0435\u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u043c\u044b\u0439 \u043a\u043b\u044e\u0447 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u0436\u0438\u0432\u0451\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, \u043d\u0435 \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0438\u0441\u044c \u0432 JS \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u0432\u0438\u0434\u0435.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>CryptoKey.algorithm<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">readonly attribute object algorithm;<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 ECMAScript-\u043e\u0431\u044a\u0435\u043a\u0442, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043a\u043b\u044e\u0447\u0430 (name \u043f\u043b\u044e\u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0432\u0438\u0434\u0430 modulusLength, namedCurve, length, hash).\u26a0\ufe0f \u0412 IDL \u0442\u0438\u043f \u2014 object, \u0430 \u043d\u0435 KeyAlgorithm: \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u043b\u043e\u0442\u0430 \u00abshall be, or be derived from, a KeyAlgorithm\u00bb, \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043f\u043e\u0434\u0442\u0438\u043f (RsaHashedKeyAlgorithm, EcKeyAlgorithm, AesKeyAlgorithm, HmacKeyAlgorithm) \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430. \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a\u0435\u0448 \u2014 \u043c\u0443\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u043e, \u043d\u0430 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0430 \u044d\u0442\u043e \u043d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>CryptoKey.extractable<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">readonly attribute boolean extractable;<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u0442\u0440\u0430\u0436\u0430\u0435\u0442 [[extractable]] \u2014 \u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441\u044b\u0440\u043e\u0439 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043d\u0430\u0440\u0443\u0436\u0443.\u26a0\ufe0f \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u041e\u0414\u0418\u041d \u0420\u0410\u0417 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043a\u043b\u044e\u0447\u0430 \u0438 readonly \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430 \u2014 \u00ab\u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u00bb \u0435\u0433\u043e \u043d\u0435\u043b\u044c\u0437\u044f. \u0414\u043b\u044f \u043f\u0430\u0440 \u043a\u043b\u044e\u0447\u0435\u0439 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0437\u0430\u0434\u0430\u0451\u0442 \u0440\u0430\u0437\u043d\u043e\u0435: \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u043c\u0443 \u043a\u043b\u044e\u0447\u0443 [[extractable]] \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f true, \u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0439 \u0444\u043b\u0430\u0433 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u043c\u0443. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0432 \u043f\u043e\u043b\u0435 ext \u043f\u0440\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0435 \u0432 JWK.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>CryptoKey.type<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">readonly attribute KeyType type;\u0437\u043d\u0430\u0447.: \u201cpublic\u201d | \u201cprivate\u201d | \u201csecret\u201d<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u0442\u0440\u0430\u0436\u0430\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0441\u043b\u043e\u0442 [[type]] \u2014 \u0432\u0438\u0434 \u043a\u043b\u044e\u0447\u0430.\u26a0\ufe0f \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0436\u0451\u0441\u0442\u043a\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e\u0442 \u044d\u0442\u043e\u0442 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0440\u0430\u043d\u044c\u0448\u0435 usages: sign \u0441 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u043c \u043a\u043b\u044e\u0447\u043e\u043c \u0434\u0430\u0451\u0442 InvalidAccessError (\u00abIf the [[type]] internal slot of key is not \u201cprivate\u201d, then throw an InvalidAccessError\u00bb), \u0430 \u043d\u0435 false.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>CryptoKey.usages<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">readonly attribute object usages;\u0437\u043d\u0430\u0447.: \u041c\u0430\u0441\u0441\u0438\u0432 \u0441\u0442\u0440\u043e\u043a \u0438\u0437 enum KeyUsage<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 \u0441\u043e \u0441\u043f\u0438\u0441\u043a\u043e\u043c \u0440\u0430\u0437\u0440\u0435\u0448\u0451\u043d\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439.\u26a0\ufe0f \u0412 IDL \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d \u043a\u0430\u043a object, \u0445\u043e\u0442\u044f \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u044d\u0442\u043e \u043c\u0430\u0441\u0441\u0438\u0432 \u0441\u0442\u0440\u043e\u043a, \u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u043b\u043e\u0442\u0430 [[usages]] \u0438\u043c\u0435\u0435\u0442 \u0442\u0438\u043f Sequence. \u0418\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u2014 \u044d\u0442\u043e \u00abusage intersection\u00bb \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430 \u0438 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c: \u0443 ECDSA \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u043c\u0443 \u043a\u043b\u044e\u0447\u0443 \u043e\u0441\u0442\u0430\u0432\u044f\u0442 \u0442\u043e\u043b\u044c\u043a\u043e [\u201csign\u201d], \u0443 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u2014 \u0442\u043e\u043b\u044c\u043a\u043e [\u201cverify\u201d], \u043b\u0438\u0448\u043d\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u043d\u044b\u0435 usages \u043c\u043e\u043b\u0447\u0430 \u043e\u0442\u0441\u0435\u043a\u0430\u044e\u0442\u0441\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>CryptoKeyPair<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary CryptoKeyPair { CryptoKey publicKey; CryptoKey privateKey; };\u0437\u043d\u0430\u0447.: \u0427\u043b\u0435\u043d\u044b: publicKey, privateKey<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u042d\u0442\u043e DICTIONARY, \u0430 \u043d\u0435 interface. \u0414\u0432\u0430 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u043b\u0435\u043d\u0430 \u0442\u0438\u043f\u0430 CryptoKey. \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0438\u0437 generateKey \u0434\u043b\u044f RSA, ECDSA, ECDH, Ed25519, X25519.\u26a0\ufe0f \u0420\u0430\u0437 \u044d\u0442\u043e \u0441\u043b\u043e\u0432\u0430\u0440\u044c, \u0430 \u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u2014 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430 CryptoKeyPair \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, instanceof \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442, \u0430 generateKey \u043e\u0442\u0434\u0430\u0451\u0442 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442. \u041e\u0442\u0441\u044e\u0434\u0430 \u0436\u0435 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u044e\u0449\u0438\u0439 \u0442\u0438\u043f \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 Promise&lt;(CryptoKey or CryptoKeyPair)&gt;: \u043f\u0435\u0440\u0435\u0434 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a .privateKey \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u0432\u0435\u0440\u043d\u0443\u043b\u0441\u044f \u043b\u0438 \u043a\u043b\u044e\u0447 \u0438\u043b\u0438 \u043f\u0430\u0440\u0430. \u041e\u0431\u0430 \u0447\u043b\u0435\u043d\u0430 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u044b \u0411\u0415\u0417 required.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>ECDH<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Registration \u00a724.2: generateKey | EcKeyGenParams; deriveBits | EcdhKeyDeriveParams; importKey | EcKeyImportParams; exportKey | None<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0435\u0439 \u043d\u0430 \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445.\u26a0\ufe0f deriveKey \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u041e\u0422\u0421\u0423\u0422\u0421\u0422\u0412\u0423\u0415\u0422 \u2014 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0442\u043e\u043b\u044c\u043a\u043e deriveBits, \u0430 \u043c\u0435\u0442\u043e\u0434 deriveKey \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e\u0432\u0435\u0440\u0445 \u043d\u0435\u0433\u043e (\u043e\u043d \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0441 op \u201cderiveBits\u201d). \u0422\u043e\u0442 \u0436\u0435 \u043a\u043b\u044e\u0447 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442: sign\/verify \u0434\u043b\u044f ECDH \u043d\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b, \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043e\u0431\u0449\u0438\u0439 \u0441 ECDSA \u0441\u043b\u043e\u0432\u0430\u0440\u044c EcKeyGenParams.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>ECDSA<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Registration \u00a723.2: sign | EcdsaParams; verify | EcdsaParams; generateKey | EcKeyGenParams; importKey | EcKeyImportParams; exportKey | None<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u043e\u0434\u043f\u0438\u0441\u044c \u043d\u0430 \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445. \u041a\u0440\u0438\u0432\u0430\u044f \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 (EcKeyGenParams.namedCurve), \u0445\u0435\u0448 \u2014 \u043f\u0440\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 (EcdsaParams.hash).\u26a0\ufe0f \u0420\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043a\u0440\u0438\u0432\u043e\u0439 \u0438 \u0445\u0435\u0448\u0430 \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u0440\u044f\u043c\u0438 \u2014 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u0443\u0442\u0430\u043d\u0438\u0446\u044b: hash \u0432 EcKeyGenParams \u043d\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u0438 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0431\u0440\u043e\u0448\u0435\u043d. \u042d\u043a\u0441\u043f\u043e\u0440\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u201cspki\u201d, \u201cpkcs8\u201d, \u201cjwk\u201d \u0438 \u201craw\u201d, \u043d\u043e \u201craw\u201d \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>EcKeyGenParams<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary EcKeyGenParams : Algorithm { required NamedCurve namedCurve; };\u0437\u043d\u0430\u0447.: \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0447\u043b\u0435\u043d: namedCurve. \u0423\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u044b\u0439: name (\u043e\u0442 Algorithm)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b generateKey \u0434\u043b\u044f ECDSA \u0438 ECDH. \u041d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442 Algorithm \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e: EcKeyGenParams : Algorithm.\u26a0\ufe0f \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0447\u043b\u0435\u043d \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u0438\u043d \u2014 namedCurve; name \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u0431\u0430\u0437\u043e\u0432\u043e\u043c\u0443 Algorithm \u0438 \u043f\u0440\u0438\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u044d\u0442\u043e\u043c\u0443 \u0441\u043b\u043e\u0432\u0430\u0440\u044e \u043d\u0435\u043b\u044c\u0437\u044f. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 RSA, \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u0437\u0434\u0435\u0441\u044c \u043d\u0435\u0442 \u2014 \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435 \u0441 RsaHashedKeyGenParams : RsaKeyGenParams : Algorithm. \u0425\u0435\u0448 \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 EC-\u043a\u043b\u044e\u0447\u0430 \u041d\u0415 \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f: \u043e\u043d \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0437\u0436\u0435, \u0432 EcdsaParams \u043f\u0440\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0438.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>EcKeyImportParams \/ EcKeyAlgorithm<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary EcKeyImportParams : Algorithm { required NamedCurve namedCurve; }; dictionary EcKeyAlgorithm : KeyAlgorithm { required NamedCurve namedCurve; };<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">EcKeyImportParams \u2014 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b importKey \u0434\u043b\u044f ECDSA \u0438 ECDH; EcKeyAlgorithm \u2014 \u0442\u043e, \u0447\u0442\u043e \u0432\u0438\u0434\u043d\u043e \u0432 CryptoKey.algorithm.\u26a0\ufe0f \u0421\u043b\u043e\u0432\u0430\u0440\u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b \u043f\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u0443 \u0447\u043b\u0435\u043d\u0430, \u043d\u043e \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u044e\u0442 \u0420\u0410\u0417\u041d\u042b\u0415 \u0431\u0430\u0437\u044b: \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u2014 \u043e\u0442 Algorithm, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0430 \u2014 \u043e\u0442 KeyAlgorithm. namedCurve \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u0435\u043d \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0435 spki\/pkcs8, \u0433\u0434\u0435 \u043a\u0440\u0438\u0432\u0430\u044f \u0443\u0436\u0435 \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0432 \u0441\u0430\u043c\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445: \u0440\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0435.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>EcdhKeyDeriveParams<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary EcdhKeyDeriveParams : Algorithm { required CryptoKey public; };<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b deriveBits\/deriveKey \u0434\u043b\u044f ECDH \u0438 X25519. \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b.\u26a0\ufe0f \u0427\u043b\u0435\u043d \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f public \u2014 \u044d\u0442\u043e \u0437\u0430\u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0441\u043b\u043e\u0432\u043e JS, \u043d\u043e \u043a\u0430\u043a \u043a\u043b\u044e\u0447 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043e\u043d\u043e \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e: {name: \u201cECDH\u201d, public: theirKey}. \u0422\u0438\u043f \u0447\u043b\u0435\u043d\u0430 \u2014 CryptoKey, \u0430 \u043d\u0435 \u0431\u0443\u0444\u0435\u0440: \u0447\u0443\u0436\u043e\u0439 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u043d\u0430\u0434\u043e \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 importKey. \u0422\u043e\u0442 \u0436\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0438 \u0434\u043b\u044f X25519.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>EcdsaParams<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary EcdsaParams : Algorithm { required HashAlgorithmIdentifier hash; };<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b sign \u0438 verify \u0434\u043b\u044f ECDSA. \u041d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043e\u0441\u043b\u043e\u0432\u043d\u043e: EcdsaParams : Algorithm.\u26a0\ufe0f hash \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d required, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0442\u0440\u043e\u043a\u0430 \u201cECDSA\u201d \u0432\u043c\u0435\u0441\u0442\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043d\u0435 \u043f\u0440\u043e\u0439\u0434\u0451\u0442 \u2014 \u043d\u0443\u0436\u0435\u043d {name: \u201cECDSA\u201d, hash: \u201cSHA-256\u201d}. \u0425\u0435\u0448 \u0437\u0434\u0435\u0441\u044c \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u043d\u0430 \u041a\u0410\u0416\u0414\u0423\u042e \u043f\u043e\u0434\u043f\u0438\u0441\u044c \u0438 \u0432 \u043a\u043b\u044e\u0447\u0435 \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f: \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 EC-\u043a\u043b\u044e\u0447 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441 SHA-256 \u0438 SHA-384. \u041f\u043e\u0434\u043f\u0438\u0441\u044c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u044b\u0440\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435 r||s, \u0430 \u043d\u0435 \u0432 DER \u2014 \u0441 OpenSSL \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043d\u0435 \u0441\u0442\u044b\u043a\u0443\u0435\u0442\u0441\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>Ed25519<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Registration \u00a725.2: sign | None | byte sequence; verify | None | boolean; generateKey | None | CryptoKeyPair; importKey | None | CryptoKey; exportKey | None | object\u0437\u043d\u0430\u0447.: \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0420\u041e\u0412\u041d\u041e \u043f\u044f\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439: sign, verify, generateKey, importKey, exportKey<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u043e\u0434\u043f\u0438\u0441\u044c \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e RFC 8032. \u0412 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 \/TR\/WebCryptoAPI\/ (\u0442\u043e \u0435\u0441\u0442\u044c \u0432 Level 2) \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u041f\u0420\u0418\u0421\u0423\u0422\u0421\u0422\u0412\u0423\u0415\u0422 \u2014 \u0440\u0430\u0437\u0434\u0435\u043b 25, \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 X25519 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 26.\u26a0\ufe0f \u041f\u0440\u0438\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c Ed25519 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u0432\u0435\u0440\u0445 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u044f\u0442\u0438 \u043d\u0435\u043b\u044c\u0437\u044f: encrypt, decrypt, deriveKey, deriveBits, wrapKey \u0438 unwrapKey \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u041d\u0415 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b. \u0423 \u0432\u0441\u0435\u0445 \u043f\u044f\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 Parameters = None \u2014 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0443 Ed25519 \u043d\u0435\u0442 \u0432\u043e\u0432\u0441\u0435, \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u201cEd25519\u201d (\u0445\u0435\u0448 \u0432\u0441\u0435\u0433\u0434\u0430 SHA-512 \u0438 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043d\u0435\u0433\u0434\u0435). \u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0430: \u0432 Recommendation 2017 \u0433\u043e\u0434\u0430 \u0435\u0433\u043e \u043d\u0435\u0442, \u043e\u043d \u043f\u0440\u0438\u0448\u0451\u043b \u0438\u0437 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b WICG (webcrypto-secure-curves), \u043d\u0430 issue-\u0442\u0440\u0435\u043a\u0435\u0440 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f; \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u0432\u0438\u0441\u044f\u0442 \u0434\u0432\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 Issue \u2014 \u043f\u0440\u043e \u0440\u0430\u043d\u0434\u043e\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0438 \u043f\u0440\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 small-order \u0442\u043e\u0447\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u00abnot all implementations perform\u00bb.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>HMAC<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Registration \u00a731.2: sign | None; verify | None; generateKey | HmacKeyGenParams; importKey | HmacImportParams; exportKey | None<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u0430\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u044c. generateKey \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 CryptoKey (\u043d\u0435 \u043f\u0430\u0440\u0443), type = \u201csecret\u201d.\u26a0\ufe0f \u0423 sign\/verify Parameters = None: \u0445\u0435\u0448 \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430 \u0432\u044b\u0437\u043e\u0432\u0435, \u043e\u043d \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d \u0432 \u043a\u043b\u044e\u0447\u0435 \u0447\u0435\u0440\u0435\u0437 HmacKeyGenParams.hash. verify \u0434\u043b\u044f HMAC \u2014 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0442\u0435\u0433\u043e\u0432: \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 sign \u0443\u044f\u0437\u0432\u0438\u043c\u043e \u043a \u0442\u0430\u0439\u043c\u0438\u043d\u0433-\u0430\u0442\u0430\u043a\u0430\u043c. \u042d\u043a\u0441\u043f\u043e\u0440\u0442: \u0442\u043e\u043b\u044c\u043a\u043e \u201craw\u201d \u0438 \u201cjwk\u201d.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>HashAlgorithmIdentifier<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">typedef AlgorithmIdentifier HashAlgorithmIdentifier;<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c AlgorithmIdentifier, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0432 \u0447\u043b\u0435\u043d\u0430\u0445 hash \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439 RsaHashedKeyGenParams, RsaHashedImportParams, EcdsaParams, HmacKeyGenParams, HmacImportParams, HkdfParams, Pbkdf2Params.\u26a0\ufe0f \u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0442\u0443\u0442 \u043d\u0435\u0442 \u2014 \u044d\u0442\u043e \u0442\u043e\u0442 \u0436\u0435 \u0441\u0430\u043c\u044b\u0439 (object or DOMString), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 hash: \u201cSHA-256\u201d \u0438 hash: {name: \u201cSHA-256\u201d} \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u044b. \u041d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u00ab\u0442\u043e\u043b\u044c\u043a\u043e SHA\u00bb \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 IDL \u043d\u0435\u0442, \u043e\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043f\u0440\u0438 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441 op \u201cdigest\u201d.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>HkdfParams<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary HkdfParams : Algorithm { required HashAlgorithmIdentifier hash; required BufferSource salt; required BufferSource info; };<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b deriveBits \u0434\u043b\u044f HKDF. \u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b \u0432\u0441\u0435 \u0442\u0440\u0438 \u0447\u043b\u0435\u043d\u0430, \u0432\u043a\u043b\u044e\u0447\u0430\u044f info.\u26a0\ufe0f info \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d required \u2014 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u043d\u0435\u043b\u044c\u0437\u044f, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u043d\u0435 \u043d\u0443\u0436\u0435\u043d: \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0443\u0441\u0442\u043e\u0439 \u0431\u0443\u0444\u0435\u0440 new Uint8Array(). \u041a\u0430\u043a \u0438 \u0443 PBKDF2, \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u043b\u044e\u0447 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u043a \u201craw\u201d \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 extractable = false. \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u00abGet key length\u00bb \u0443 HKDF \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 null, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 deriveKey \u0434\u043b\u0438\u043d\u0430 \u043e\u0431\u044f\u0437\u0430\u043d\u0430 \u043f\u0440\u0438\u0439\u0442\u0438 \u0438\u0437 derivedKeyType.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>HmacKeyGenParams \/ HmacImportParams<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary HmacKeyGenParams : Algorithm { required HashAlgorithmIdentifier hash; [EnforceRange] unsigned long length; }; dictionary HmacImportParams : Algorithm { required HashAlgorithmIdentifier hash; [EnforceRange] unsigned long length; };<\/p>\n<\/td>\n<td>\n<p align=\"left\">length \u2014 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u0435\u043d (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u043b\u043e\u043a\u0430 \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u0438)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b generateKey \u0438 importKey \u0434\u043b\u044f HMAC. \u041e\u0431\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u044e\u0442 Algorithm \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e, \u0441\u043e\u0441\u0442\u0430\u0432 \u0447\u043b\u0435\u043d\u043e\u0432 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u0435\u043d.\u26a0\ufe0f length \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u0435\u043d \u0438, \u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u043d\u0435 \u0437\u0430\u0434\u0430\u0442\u044c, \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u043b\u043e\u043a\u0430 \u0445\u0435\u0448\u0430 (\u0434\u043b\u044f SHA-256 \u044d\u0442\u043e 512 \u0431\u0438\u0442, \u0430 \u043d\u0435 256). \u0421\u0430\u043c sign\/verify \u0434\u043b\u044f HMAC \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 Parameters = None \u2014 \u0442\u0430\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0442\u0440\u043e\u043a\u0438 \u201cHMAC\u201d, \u0445\u0435\u0448 \u0443\u0436\u0435 \u0437\u0430\u0448\u0438\u0442 \u0432 \u043a\u043b\u044e\u0447.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>JsonWebKey<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary JsonWebKey { DOMString kty; DOMString use; sequence key_ops; DOMString alg; boolean ext; DOMString crv; DOMString x; DOMString y; DOMString d; DOMString n; DOMString e; DOMString p; DOMString q; DOMString dp; DOMString dq; DOMString qi; sequence oth; DOMString k; };<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0422\u0438\u043f \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 importKey \u043f\u0440\u0438 format = \u201cjwk\u201d \u0438 \u0442\u0438\u043f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 exportKey(\u201cjwk\u201d, key).\u26a0\ufe0f \u041d\u0438 \u043e\u0434\u0438\u043d \u0447\u043b\u0435\u043d \u043d\u0435 \u043f\u043e\u043c\u0435\u0447\u0435\u043d required \u2014 \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0448\u0430\u0433\u0430\u043c\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430, \u0430 \u043d\u0435 WebIDL. \u042d\u0442\u043e \u0415\u0414\u0418\u041d\u0421\u0422\u0412\u0415\u041d\u041d\u042b\u0419 \u0444\u043e\u0440\u043c\u0430\u0442, \u0433\u0434\u0435 exportKey \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442, \u0430 \u043d\u0435 ArrayBuffer, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 Promise&lt;(ArrayBuffer or JsonWebKey)&gt; \u043d\u0430\u0434\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u043f\u043e format. \u041f\u0440\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0435 key_ops \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0438\u0437 usages, \u0430 ext \u2014 \u0438\u0437 [[extractable]].<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>KeyAlgorithm<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary KeyAlgorithm { required DOMString name; };<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0434\u043b\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e CryptoKey.algorithm. \u041d\u0430\u0441\u043b\u0435\u0434\u043d\u0438\u043a\u0438: RsaKeyAlgorithm, RsaHashedKeyAlgorithm, EcKeyAlgorithm, AesKeyAlgorithm, HmacKeyAlgorithm.\u26a0\ufe0f \u041d\u0435 \u043f\u0443\u0442\u0430\u0442\u044c \u0441 Algorithm: Algorithm \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u041f\u0410\u0420\u0410\u041c\u0415\u0422\u0420\u042b \u0432\u044b\u0437\u043e\u0432\u0430, KeyAlgorithm \u2014 \u0421\u0412\u041e\u0419\u0421\u0422\u0412\u0410 \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043a\u043b\u044e\u0447\u0430. \u0421\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u043e\u043d\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u0438\u043c\u0435\u043d\u0438 \u0447\u043b\u0435\u043d\u0430 name.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>KeyFormat<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">enum KeyFormat { \u201craw\u201d, \u201cspki\u201d, \u201cpkcs8\u201d, \u201cjwk\u201d };\u0437\u043d\u0430\u0447.: \u201craw\u201d, \u201cspki\u201d, \u201cpkcs8\u201d, \u201cjwk\u201d<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0422\u0438\u043f \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 format \u0443 importKey, exportKey, wrapKey \u0438 unwrapKey. \u0427\u0435\u0442\u044b\u0440\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: \u0441\u044b\u0440\u044b\u0435 \u0431\u0430\u0439\u0442\u044b, SubjectPublicKeyInfo (DER), PKCS#8 (DER), JSON Web Key.\u26a0\ufe0f \u0412\u0441\u0451 \u0441\u0442\u0440\u043e\u0447\u043d\u044b\u043c\u0438 \u0431\u0443\u043a\u0432\u0430\u043c\u0438: \u201cspki\u201d, \u0430 \u043d\u0435 \u201cSPKI\u201d; \u201cpkcs8\u201d, \u0430 \u043d\u0435 \u201cPKCS8\u201d. \u0424\u043e\u0440\u043c\u0430\u0442 PEM \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u043e\u043e\u0431\u0449\u0435 \u2014 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 BEGIN\/END \u0438 base64 \u043d\u0430\u0434\u043e \u0441\u043d\u0438\u043c\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u043c\u0443 \u0438 \u043f\u043e\u0434\u0430\u0432\u0430\u0442\u044c DER. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c, \u0430 \u043d\u0435 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435\u043c: \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 enum \u0435\u0449\u0451 \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0439\u0434\u0451\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>KeyType<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">enum KeyType { \u201cpublic\u201d, \u201cprivate\u201d, \u201csecret\u201d };\u0437\u043d\u0430\u0447.: \u201cpublic\u201d, \u201cprivate\u201d, \u201csecret\u201d<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0432\u0438\u0434\u043e\u0432 \u043a\u043b\u044e\u0447\u0430; \u0442\u0438\u043f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 CryptoKey.type.\u26a0\ufe0f \u0420\u043e\u0432\u043d\u043e \u0442\u0440\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0432\u0441\u0435 \u0432 \u043d\u0438\u0436\u043d\u0435\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435. \u0421\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u044b\u0435 \u043a\u043b\u044e\u0447\u0438 (AES, HMAC) \u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043a\u043b\u044e\u0447\u0438 KDF (PBKDF2, HKDF) \u2014 \u044d\u0442\u043e \u201csecret\u201d, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u043f\u043e\u0434 KDF \u043d\u0435\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>KeyUsage<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">enum KeyUsage { \u201cencrypt\u201d, \u201cdecrypt\u201d, \u201csign\u201d, \u201cverify\u201d, \u201cderiveKey\u201d, \u201cderiveBits\u201d, \u201cwrapKey\u201d, \u201cunwrapKey\u201d };\u0437\u043d\u0430\u0447.: \u201cencrypt\u201d, \u201cdecrypt\u201d, \u201csign\u201d, \u201cverify\u201d, \u201cderiveKey\u201d, \u201cderiveBits\u201d, \u201cwrapKey\u201d, \u201cunwrapKey\u201d<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u043e\u0441\u0435\u043c\u044c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 sequence \u2014 \u0442\u043e\u0433\u043e \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 keyUsages.\u26a0\ufe0f \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f camelCase \u0438 \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b \u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0443: \u201cderivekey\u201d \u0438\u043b\u0438 \u201cDeriveKey\u201d \u2014 TypeError \u043d\u0430 \u043a\u043e\u043d\u0432\u0435\u0440\u0441\u0438\u0438 WebIDL. \u041f\u0430\u0440\u044b \u043d\u0435 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u044e\u0442\u0441\u044f: \u201cencrypt\u201d \u043d\u0435 \u0434\u0430\u0451\u0442 \u043f\u0440\u0430\u0432\u0430 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0442\u044c, \u201cwrapKey\u201d \u043d\u0435 \u0434\u0430\u0451\u0442 \u043f\u0440\u0430\u0432\u0430 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c. \u0414\u043b\u044f deriveKey \u043d\u0443\u0436\u043d\u044b \u041e\u0411\u0410 usage \u2014 \u201cderiveKey\u201d \u0443 \u0431\u0430\u0437\u043e\u0432\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0438 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0443 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u043e\u0433\u043e.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>NamedCurve<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">typedef DOMString NamedCurve;\u0437\u043d\u0430\u0447.: \u201cP-256\u201d, \u201cP-384\u201d, \u201cP-521\u201d (\u0438\u043c\u0435\u043d\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0435\u0439 \u0434\u043b\u044f ECDSA\/ECDH)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0422\u0438\u043f \u0447\u043b\u0435\u043d\u0430 namedCurve \u2014 \u043f\u0440\u043e\u0441\u0442\u043e DOMString, \u043d\u0435 enum.\u26a0\ufe0f \u0420\u0430\u0437 \u044d\u0442\u043e typedef, \u0430 \u043d\u0435 enum, WebIDL \u041d\u0415 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435: \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0430 \u0432\u0440\u043e\u0434\u0435 \u201cP256\u201d \u0438\u043b\u0438 \u201csecp256r1\u201d \u043f\u0440\u043e\u0439\u0434\u0451\u0442 \u043a\u043e\u043d\u0432\u0435\u0440\u0441\u0438\u044e \u0438 \u0443\u043f\u0430\u0434\u0451\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430, \u0443\u0436\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 Promise. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 P-521 \u2014 \u0438\u043c\u0435\u043d\u043d\u043e 521, \u0430 \u043d\u0435 512.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>Pbkdf2Params<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary Pbkdf2Params : Algorithm { required BufferSource salt; required [EnforceRange] unsigned long iterations; required HashAlgorithmIdentifier hash; };<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b deriveBits (\u0438, \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0433\u043e, deriveKey) \u0434\u043b\u044f PBKDF2. \u0412\u0441\u0435 \u0442\u0440\u0438 \u0447\u043b\u0435\u043d\u0430 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b.\u26a0\ufe0f \u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u043b\u044e\u0447 PBKDF2 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u043e \u043e\u0441\u043e\u0431\u044b\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c: format \u043e\u0431\u044f\u0437\u0430\u043d \u0431\u044b\u0442\u044c \u201craw\u201d, \u0430 extractable \u043e\u0431\u044f\u0437\u0430\u043d \u0431\u044b\u0442\u044c false \u2014 \u00abIf extractable is not false, then throw a SyntaxError\u00bb. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 iterations \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043d\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0438 \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044f \u043d\u0435 \u0434\u0430\u0451\u0442, \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u0435\u0433\u043e \u2014 \u0437\u0430\u0434\u0430\u0447\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. PBKDF2 \u043d\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e deriveKey: \u043e\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 deriveBits + importKey.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>RSA-OAEP<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Registration \u00a722.2: encrypt | RsaOaepParams; decrypt | RsaOaepParams; generateKey | RsaHashedKeyGenParams; importKey | RsaHashedImportParams; exportKey | None<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0432 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0430\u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f.\u26a0\ufe0f sign\/verify \u0434\u043b\u044f RSA-OAEP \u043d\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b, \u0430 \u0434\u043b\u044f RSA-PSS\/RSASSA \u043d\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b encrypt\/decrypt \u2014 \u043e\u0434\u0438\u043d RSA-\u043a\u043b\u044e\u0447 \u043d\u0435\u043b\u044c\u0437\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438, \u0438 \u0434\u043b\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f: \u0438\u043c\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0437\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 CryptoKey. \u041e\u0431\u044a\u0451\u043c \u0448\u0438\u0444\u0440\u0443\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043c\u043e\u0434\u0443\u043b\u044f, \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043d\u0435\u0442. \u201craw\u201d \u043f\u0440\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>RSA-PSS<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Registration \u00a721.2: sign | RsaPssParams; verify | RsaPssParams; generateKey | RsaHashedKeyGenParams; importKey | RsaHashedImportParams; exportKey | None<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">RSA-\u043f\u043e\u0434\u043f\u0438\u0441\u044c \u0441 \u0440\u0430\u043d\u0434\u043e\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0441\u043e\u043b\u044c\u044e. \u0414\u043b\u044f sign \u0438 verify \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0432\u0430\u0440\u044c RsaPssParams, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e saltLength \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d required.\u26a0\ufe0f \u0422\u0440\u0438 \u0420\u0410\u0417\u041d\u042b\u0425 \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u043d\u0430 \u043e\u0434\u0438\u043d \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c: RsaPssParams \u043f\u0440\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0438\/\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435, RsaHashedKeyGenParams \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438, RsaHashedImportParams \u043f\u0440\u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0435. saltLength \u043d\u0435 \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442\u0441\u044f \u043a\u043b\u044e\u0447\u043e\u043c \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u0432\u044b\u0437\u043e\u0432\u0435; \u043f\u0440\u0438 verify \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0432\u043f\u0430\u0441\u0442\u044c \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u0438 sign, \u0438\u043d\u0430\u0447\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 false. \u0424\u043e\u0440\u043c\u0430\u0442 \u201craw\u201d \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>RSASSA-PKCS1-v1_5<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Registration \u00a720.2: sign | None; verify | None; generateKey | RsaHashedKeyGenParams; importKey | RsaHashedImportParams; exportKey | None<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f RSA-\u043f\u043e\u0434\u043f\u0438\u0441\u044c PKCS#1 v1.5. \u0425\u0435\u0448 \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u043a\u043b\u044e\u0447\u0435 \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438\/\u0438\u043c\u043f\u043e\u0440\u0442\u0435.\u26a0\ufe0f \u0423 sign\/verify Parameters = None, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0434\u0435\u0441\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0442\u0440\u043e\u043a\u0438 \u201cRSASSA-PKCS1-v1_5\u201d \u2014 \u043f\u0440\u044f\u043c\u0430\u044f \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c RSA-PSS, \u0433\u0434\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0441 saltLength \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u0435\u043d. \u042d\u043a\u0441\u043f\u043e\u0440\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u201cspki\u201d, \u201cpkcs8\u201d \u0438 \u201cjwk\u201d; \u201craw\u201d \u0434\u0430\u0451\u0442 NotSupportedError.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>RsaHashedImportParams<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary RsaHashedImportParams : Algorithm { required HashAlgorithmIdentifier hash; };<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b importKey \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0442\u0440\u0451\u0445 RSA-\u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432.\u26a0\ufe0f \u041d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442 Algorithm \u041d\u0410\u041f\u0420\u042f\u041c\u0423\u042e, \u0430 \u043d\u0435 RsaKeyGenParams: \u043f\u0440\u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0435 modulusLength \u0438 publicExponent \u043d\u0435 \u0437\u0430\u0434\u0430\u044e\u0442 \u2014 \u043e\u043d\u0438 \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u0438\u0437 \u0441\u0430\u043c\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430. \u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0438\u0445 \u0441\u044e\u0434\u0430 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>RsaHashedKeyGenParams<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary RsaHashedKeyGenParams : RsaKeyGenParams { required HashAlgorithmIdentifier hash; };\u0437\u043d\u0430\u0447.: \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0447\u043b\u0435\u043d: hash. \u0423\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u044b\u0435: modulusLength, publicExponent (\u043e\u0442 RsaKeyGenParams), name (\u043e\u0442 Algorithm)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b generateKey \u0434\u043b\u044f RSASSA-PKCS1-v1_5, RSA-PSS \u0438 RSA-OAEP. \u041f\u043e\u043b\u043d\u0430\u044f \u0446\u0435\u043f\u043e\u0447\u043a\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u2014 RsaHashedKeyGenParams : RsaKeyGenParams : Algorithm, \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0435\u043b\u044c\u0437\u044f.\u26a0\ufe0f \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0447\u043b\u0435\u043d \u0443 \u043d\u0435\u0433\u043e \u0420\u041e\u0412\u041d\u041e \u041e\u0414\u0418\u041d \u2014 hash. modulusLength \u0438 publicExponent \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u043e\u0442 RsaKeyGenParams, \u0430 name \u2014 \u043e\u0442 Algorithm; \u043f\u0440\u0438\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c name \u044d\u0442\u043e\u043c\u0443 \u0441\u043b\u043e\u0432\u0430\u0440\u044e \u043d\u0435\u0432\u0435\u0440\u043d\u043e. \u0418\u0442\u043e\u0433\u043e \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b \u0432\u0441\u0435 \u0447\u0435\u0442\u044b\u0440\u0435 \u043f\u043e\u043b\u044f \u0441\u0440\u0430\u0437\u0443: name, modulusLength, publicExponent, hash.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>RsaKeyAlgorithm \/ RsaHashedKeyAlgorithm<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary RsaKeyAlgorithm : KeyAlgorithm { required unsigned long modulusLength; required BigInteger publicExponent; }; dictionary RsaHashedKeyAlgorithm : RsaKeyAlgorithm { required KeyAlgorithm hash; };<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u0442\u043e, \u0447\u0442\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 CryptoKey.algorithm \u0443 RSA-\u043a\u043b\u044e\u0447\u0430. \u0426\u0435\u043f\u043e\u0447\u043a\u0430: RsaHashedKeyAlgorithm : RsaKeyAlgorithm : KeyAlgorithm.\u26a0\ufe0f \u041d\u0435 \u043f\u0443\u0442\u0430\u0442\u044c \u0441 *KeyGenParams: \u0432 \u043d\u0438\u0445 hash \u0438\u043c\u0435\u0435\u0442 \u0442\u0438\u043f HashAlgorithmIdentifier (\u043c\u043e\u0436\u043d\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0439), \u0430 \u0437\u0434\u0435\u0441\u044c hash \u2014 \u044d\u0442\u043e KeyAlgorithm, \u0442\u043e \u0435\u0441\u0442\u044c \u0443\u0436\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 {name: \u201cSHA-256\u201d}. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 key.algorithm.hash \u2014 \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0431\u044a\u0435\u043a\u0442, \u0430 \u043d\u0435 \u0441\u0442\u0440\u043e\u043a\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>RsaKeyGenParams<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary RsaKeyGenParams : Algorithm { required [EnforceRange] unsigned long modulusLength; required BigInteger publicExponent; };\u0437\u043d\u0430\u0447.: \u0427\u043b\u0435\u043d\u044b: modulusLength, publicExponent (+ \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u044b\u0439 name)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 RSA-\u043a\u043b\u044e\u0447\u0430. \u041d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442 Algorithm, \u043e\u0442\u043a\u0443\u0434\u0430 \u0431\u0435\u0440\u0451\u0442\u0441\u044f required name.\u26a0\ufe0f \u0421\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u043f\u043e\u0447\u0442\u0438 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u2014 \u0432\u0441\u0435 \u0442\u0440\u0438 RSA-\u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0442 \u0434\u043b\u044f generateKey \u043d\u0430\u0441\u043b\u0435\u0434\u043d\u0438\u043a\u0430 RsaHashedKeyGenParams. [EnforceRange] \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043d\u0435\u0446\u0435\u043b\u043e\u0435 \u0438\u043b\u0438 \u0432\u044b\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u0437\u0430 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d modulusLength \u0434\u0430\u0451\u0442 TypeError, \u0430 \u043d\u0435 \u0442\u0438\u0445\u043e\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u0435.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>RsaOaepParams<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary RsaOaepParams : Algorithm { BufferSource label; };<\/p>\n<\/td>\n<td>\n<p align=\"left\">label \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 (\u0447\u043b\u0435\u043d \u043d\u0435 required)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b encrypt\/decrypt \u0434\u043b\u044f RSA-OAEP. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0447\u043b\u0435\u043d label \u2014 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439.\u26a0\ufe0f label \u0438\u043c\u0435\u0435\u0442 \u0442\u0438\u043f BufferSource, \u0430 \u043d\u0435 \u0441\u0442\u0440\u043e\u043a\u0443 \u2014 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0443\u044e \u043c\u0435\u0442\u043a\u0443 \u043d\u0430\u0434\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 TextEncoder. \u0425\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0437\u0434\u0435\u0441\u044c \u043d\u0435 \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f: \u043e\u043d\u0430 \u0443\u0436\u0435 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0432 \u043a\u043b\u044e\u0447\u0435 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 generateKey\/importKey \u0447\u0435\u0440\u0435\u0437 RsaHashedKeyGenParams.hash.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>RsaOtherPrimesInfo<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary RsaOtherPrimesInfo { DOMString r; DOMString d; DOMString t; };<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u042d\u043b\u0435\u043c\u0435\u043d\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 oth \u0432 JsonWebKey \u2014 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0435\u0439 RSA (multi-prime).\u26a0\ufe0f \u041f\u043e\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0435 \u044d\u0442\u043e\u0439 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0435\u0439, \u0430 Section 6.3.2.7 of JSON Web Algorithms; \u0437\u0434\u0435\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e IDL-\u043e\u0431\u0451\u0440\u0442\u043a\u0430. \u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 multi-prime RSA \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>RsaPssParams<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">dictionary RsaPssParams : Algorithm { required [EnforceRange] unsigned long saltLength; };\u0437\u043d\u0430\u0447.: \u0427\u043b\u0435\u043d: saltLength (\u0432 \u0431\u0430\u0439\u0442\u0430\u0445, required)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f sign \u0438 verify \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c RSA-PSS. saltLength \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d required \u2014 \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044f \u0443 \u043d\u0435\u0433\u043e \u043d\u0435\u0442.\u26a0\ufe0f \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 RSA-PSS \u043d\u0435\u043b\u044c\u0437\u044f \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u043e\u0439: sign(\u201cRSA-PSS\u201d, key, data) \u043d\u0435 \u043f\u0440\u043e\u0439\u0434\u0451\u0442, \u043d\u0443\u0436\u0435\u043d {name: \u201cRSA-PSS\u201d, saltLength: N}. saltLength \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u0432 \u0411\u0410\u0419\u0422\u0410\u0425 (\u00abdesired length of the random salt in bytes\u00bb), \u0442\u043e\u0433\u0434\u0430 \u043a\u0430\u043a \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0435 \u0434\u043b\u0438\u043d\u044b \u0432 API \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u0432 \u0431\u0438\u0442\u0430\u0445. \u041f\u0440\u0438 verify saltLength \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0438. \u0414\u043b\u044f generateKey\/importKey \u0443 RSA-PSS \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u0438 \u2014 RsaHashedKeyGenParams \u0438 RsaHashedImportParams.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>SubtleCrypto<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">[SecureContext,Exposed=(Window,Worker)] interface SubtleCrypto { \u2026 };<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441 12 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438: encrypt, decrypt, sign, verify, digest, generateKey, deriveKey, deriveBits, importKey, exportKey, wrapKey, unwrapKey. \u0412\u0441\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 Promise.\u26a0\ufe0f \u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 \u043d\u0435\u0442 \u2014 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 crypto.subtle. \u0412\u0435\u0441\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 [SecureContext]: \u0432 Worker \u043e\u043d \u0435\u0441\u0442\u044c, \u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0441\u0430\u043c worker \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0438\u0437 \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>SubtleCrypto.decrypt()<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Promise decrypt(AlgorithmIdentifier algorithm, CryptoKey key, BufferSource data);\u0437\u043d\u0430\u0447.: \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0434\u043b\u044f: RSA-OAEP, AES-CTR, AES-CBC, AES-GCM<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0435\u0442 data. \u0421\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u0430 \u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u0430 encrypt: \u0442\u0440\u0438 \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430.\u26a0\ufe0f \u0422\u0440\u0435\u0431\u0443\u0435\u0442 usage \u201cdecrypt\u201d \u2014 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u0442 \u201cencrypt\u201d: \u043a\u043b\u044e\u0447, \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 [\u201cencrypt\u201d], \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442. \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b (iv, counter, additionalData) \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0442\u0435\u043c\u0438 \u0436\u0435, \u0447\u0442\u043e \u043f\u0440\u0438 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0438, \u0438\u043d\u0430\u0447\u0435 OperationError.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>SubtleCrypto.deriveBits()<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Promise deriveBits(AlgorithmIdentifier algorithm, CryptoKey baseKey, optional unsigned long? length = null);\u0437\u043d\u0430\u0447.: \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0434\u043b\u044f: ECDH (EcdhKeyDeriveParams), X25519 (EcdhKeyDeriveParams), HKDF (HkdfParams), PBKDF2 (Pbkdf2Params)<\/p>\n<\/td>\n<td>\n<p align=\"left\">length = null<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u044b\u0432\u043e\u0434\u0438\u0442 \u0441\u044b\u0440\u044b\u0435 \u0431\u0430\u0439\u0442\u044b, \u0430 \u043d\u0435 CryptoKey. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0434\u0435\u0441\u044c \u043d\u0435\u0442 \u043d\u0438 extractable, \u043d\u0438 keyUsages.\u26a0\ufe0f length \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432 \u0411\u0418\u0422\u0410\u0425, \u043d\u0435 \u0431\u0430\u0439\u0442\u0430\u0445. \u0412 Level 2 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u0441\u0442\u0430\u043b \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0438 nullable \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e null (\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0435\u0441\u044c \u0441\u0435\u043a\u0440\u0435\u0442 \u0446\u0435\u043b\u0438\u043a\u043e\u043c); \u0432 Level 1 \u043e\u043d \u0431\u044b\u043b \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c, \u0442\u0430\u043a \u0447\u0442\u043e \u0432\u044b\u0437\u043e\u0432 \u0431\u0435\u0437 length \u043b\u043e\u043c\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u0442\u0430\u0440\u044b\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0445. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u2014 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 ArrayBuffer \u0432\u043d\u0435 \u0437\u0430\u0449\u0438\u0442\u044b CryptoKey.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>SubtleCrypto.deriveKey()<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Promise deriveKey(AlgorithmIdentifier algorithm, CryptoKey baseKey, AlgorithmIdentifier derivedKeyType, boolean extractable, sequence keyUsages);<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u044b\u0432\u043e\u0434\u0438\u0442 \u043d\u043e\u0432\u044b\u0439 CryptoKey \u0438\u0437 baseKey. \u041f\u044f\u0442\u044c \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432; extractable \u2014 \u0427\u0415\u0422\u0412\u0401\u0420\u0422\u042b\u0419, keyUsages \u2014 \u041f\u042f\u0422\u042b\u0419, \u0438 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043e\u043d\u0438 \u043a \u0412\u042b\u0412\u0415\u0414\u0415\u041d\u041d\u041e\u041c\u0423 \u043a\u043b\u044e\u0447\u0443, \u0430 \u043d\u0435 \u043a baseKey.\u26a0\ufe0f \u0414\u0432\u0443\u0445 AlgorithmIdentifier \u043b\u0435\u0433\u043a\u043e \u043f\u0435\u0440\u0435\u043f\u0443\u0442\u0430\u0442\u044c: algorithm \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 KDF (PBKDF2\/HKDF\/ECDH), derivedKeyType \u2014 \u0442\u0438\u043f \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 AES-GCM). \u0412\u043d\u0443\u0442\u0440\u0438 \u043c\u0435\u0442\u043e\u0434 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0443\u0435\u0442 algorithm \u0441 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0435\u0439 \u201cderiveBits\u201d \u0438 \u0437\u0430\u0442\u0435\u043c \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043a\u0430\u043a \u201craw\u201d \u2014 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0438 HKDF, \u043d\u0438 PBKDF2 \u043d\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e deriveKey \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f derivedKeyType, \u0443\u043c\u0435\u044e\u0449\u0435\u0433\u043e importKey \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u201craw\u201d.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>SubtleCrypto.digest()<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Promise digest(AlgorithmIdentifier algorithm, BufferSource data);\u0437\u043d\u0430\u0447.: \u201cSHA-1\u201d, \u201cSHA-256\u201d, \u201cSHA-384\u201d, \u201cSHA-512\u201d<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0447\u0438\u0442\u0430\u0435\u0442 \u0445\u0435\u0448. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 SubtleCrypto, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 CryptoKey.\u26a0\ufe0f Parameters = None, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u0430. SHA-256 \u0431\u0435\u0437 \u201c-\u201d (\u201cSHA256\u201d) \u043d\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0451\u0442\u0441\u044f. SHA-3 \u0438 BLAKE \u0432 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442. \u041f\u043e\u0442\u043e\u043a\u043e\u0432\u044b\u0439\/\u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 digest \u043d\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u0432\u043e\u0432\u0441\u0435 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0446\u0435\u043b\u044c\u043d\u044b\u0439 \u0431\u0443\u0444\u0435\u0440.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>SubtleCrypto.encrypt()<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Promise encrypt(AlgorithmIdentifier algorithm, CryptoKey key, BufferSource data);\u0437\u043d\u0430\u0447.: \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0434\u043b\u044f: RSA-OAEP (RsaOaepParams), AES-CTR (AesCtrParams), AES-CBC (AesCbcParams), AES-GCM (AesGcmParams)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0428\u0438\u0444\u0440\u0443\u0435\u0442 data \u043a\u043b\u044e\u0447\u043e\u043c key \u043f\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443 algorithm. \u0420\u043e\u0432\u043d\u043e \u0442\u0440\u0438 \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430, \u043d\u0438 extractable, \u043d\u0438 keyUsages \u0437\u0434\u0435\u0441\u044c \u043d\u0435\u0442.\u26a0\ufe0f AES-KW \u041d\u0415 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 encrypt\/decrypt \u2014 \u0442\u043e\u043b\u044c\u043a\u043e wrapKey\/unwrapKey, \u0432\u044b\u0437\u043e\u0432 encrypt \u0441 \u043d\u0438\u043c \u0434\u0430\u0441\u0442 NotSupportedError. \u041a\u043b\u044e\u0447 \u043e\u0431\u044f\u0437\u0430\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c usage \u201cencrypt\u201d, \u0438\u043d\u0430\u0447\u0435 InvalidAccessError. \u0414\u043b\u044f AES-GCM iv \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u0435\u043d \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0441 \u0442\u0435\u043c \u0436\u0435 \u043a\u043b\u044e\u0447\u043e\u043c \u043d\u0435\u043b\u044c\u0437\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>SubtleCrypto.exportKey()<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Promise&lt;(ArrayBuffer or JsonWebKey)&gt; exportKey(KeyFormat format, CryptoKey key);\u0437\u043d\u0430\u0447.: format: \u201craw\u201d | \u201cspki\u201d | \u201cpkcs8\u201d | \u201cjwk\u201d<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u043a\u043b\u044e\u0447. \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u0439 \u0442\u0438\u043f \u2014 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435: JsonWebKey \u0434\u043b\u044f \u201cjwk\u201d, ArrayBuffer \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432.\u26a0\ufe0f \u0414\u0432\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043e\u0442\u043a\u0430\u0437\u0430. \u041f\u0435\u0440\u0432\u043e\u0435: \u0435\u0441\u043b\u0438 [[extractable]] \u0440\u0430\u0432\u0435\u043d false \u2014 InvalidAccessError (\u044d\u0442\u043e \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043e\u0439\u0442\u0438, \u043a\u043b\u044e\u0447 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0435\u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u043c\u044b\u043c \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430). \u0412\u0442\u043e\u0440\u043e\u0435: \u0435\u0441\u043b\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u043d\u044b\u0439 format \u2014 NotSupportedError. \u041d\u0430\u0431\u043e\u0440 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432 \u0437\u0430\u0434\u0430\u0451\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, \u0430 \u043d\u0435 \u0441\u0430\u043c \u043c\u0435\u0442\u043e\u0434.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>SubtleCrypto.generateKey()<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Promise&lt;(CryptoKey or CryptoKeyPair)&gt; generateKey(AlgorithmIdentifier algorithm, boolean extractable, sequence keyUsages);<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043a\u043b\u044e\u0447 \u0438\u043b\u0438 \u043f\u0430\u0440\u0443 \u043a\u043b\u044e\u0447\u0435\u0439. extractable \u2014 \u0412\u0422\u041e\u0420\u041e\u0419 \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442, keyUsages \u2014 \u0422\u0420\u0415\u0422\u0418\u0419. \u041d\u0438 \u0442\u043e\u0442, \u043d\u0438 \u0434\u0440\u0443\u0433\u043e\u0439 \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0447\u043b\u0435\u043d\u0430\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430.\u26a0\ufe0f \u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u2014 \u043f\u0438\u0441\u0430\u0442\u044c {name:\u201cAES-GCM\u201d, length:256, extractable:true, keyUsages:[\u2026]}: \u043b\u0438\u0448\u043d\u0438\u0435 \u0447\u043b\u0435\u043d\u044b \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u043c\u043e\u043b\u0447\u0430 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u043a\u043b\u044e\u0447 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u043c\u044b\u043c \u0438 \u0431\u0435\u0437 usages. \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u0439 \u0442\u0438\u043f \u2014 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435: CryptoKey \u0434\u043b\u044f AES\/HMAC, CryptoKeyPair \u0434\u043b\u044f RSA\/EC\/Ed25519\/X25519. \u041f\u0443\u0441\u0442\u043e\u0439 usages \u0443 secret\/private \u043a\u043b\u044e\u0447\u0430 \u2192 SyntaxError.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>SubtleCrypto.importKey()<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Promise importKey(KeyFormat format, (BufferSource or JsonWebKey) keyData, AlgorithmIdentifier algorithm, boolean extractable, sequence keyUsages);\u0437\u043d\u0430\u0447.: format: \u201craw\u201d | \u201cspki\u201d | \u201cpkcs8\u201d | \u201cjwk\u201d<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043a\u043b\u044e\u0447\u0430. extractable \u2014 \u0427\u0415\u0422\u0412\u0401\u0420\u0422\u042b\u0419 \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442, keyUsages \u2014 \u041f\u042f\u0422\u042b\u0419.\u26a0\ufe0f \u0422\u0438\u043f keyData \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 format: \u0434\u043b\u044f \u201cjwk\u201d \u044d\u0442\u043e \u043e\u0431\u044a\u0435\u043a\u0442 JsonWebKey, \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u2014 BufferSource; \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 ArrayBuffer \u043f\u0440\u0438 format \u201cjwk\u201d \u0434\u0430\u0451\u0442 TypeError \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 WebIDL. \u0414\u043b\u044f PBKDF2 \u0438 HKDF \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0436\u0451\u0441\u0442\u0447\u0435: format \u043e\u0431\u044f\u0437\u0430\u043d \u0431\u044b\u0442\u044c \u201craw\u201d, \u0430 extractable \u043e\u0431\u044f\u0437\u0430\u043d \u0431\u044b\u0442\u044c false, \u0438\u043d\u0430\u0447\u0435 SyntaxError.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>SubtleCrypto.sign()<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Promise sign(AlgorithmIdentifier algorithm, CryptoKey key, BufferSource data);\u0437\u043d\u0430\u0447.: \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0434\u043b\u044f: RSASSA-PKCS1-v1_5 (None), RSA-PSS (RsaPssParams), ECDSA (EcdsaParams), HMAC (None), Ed25519 (None)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 data \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u043c (\u0438\u043b\u0438 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u0434\u043b\u044f HMAC) \u043a\u043b\u044e\u0447\u043e\u043c.\u26a0\ufe0f \u0423 \u0442\u0440\u0451\u0445 \u0438\u0437 \u043f\u044f\u0442\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 Parameters = None, \u0442\u043e \u0435\u0441\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0442\u0440\u043e\u043a\u0438 \u201cHMAC\u201d\/\u201cEd25519\u201d\/\u201cRSASSA-PKCS1-v1_5\u201d. \u041d\u043e RSA-PSS \u0442\u0440\u0435\u0431\u0443\u0435\u0442 RsaPssParams \u0441 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c saltLength, \u0430 ECDSA \u2014 EcdsaParams \u0441 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c hash: \u0441\u0442\u0440\u043e\u043a\u0430 \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u0442\u0430\u043c \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>SubtleCrypto.unwrapKey()<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Promise unwrapKey(KeyFormat format, BufferSource wrappedKey, CryptoKey unwrappingKey, AlgorithmIdentifier unwrapAlgorithm, AlgorithmIdentifier unwrappedKeyAlgorithm, boolean extractable, sequence keyUsages);<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0430\u043c\u044b\u0439 \u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 API: \u0441\u0435\u043c\u044c \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432. extractable \u2014 \u0428\u0415\u0421\u0422\u041e\u0419, keyUsages \u2014 \u0421\u0415\u0414\u042c\u041c\u041e\u0419; \u043e\u0431\u0430 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447, \u0430 \u043d\u0435 unwrappingKey.\u26a0\ufe0f \u0414\u0432\u0430 AlgorithmIdentifier \u0438\u0434\u0443\u0442 \u043f\u043e\u0434\u0440\u044f\u0434: unwrapAlgorithm \u2014 \u0447\u0435\u043c \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u0451\u0440\u0442\u043a\u0443, unwrappedKeyAlgorithm \u2014 \u0447\u0435\u043c \u0431\u0443\u0434\u0435\u0442 \u044f\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447. \u0418\u043c\u0435\u043d\u043d\u043e \u0437\u0434\u0435\u0441\u044c \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0438 \u043f\u0443\u0442\u0430\u044e\u0442 \u043f\u043e\u0437\u0438\u0446\u0438\u0438, \u0430 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u0431\u0430 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u043e\u0434\u043d\u043e\u0433\u043e IDL-\u0442\u0438\u043f\u0430, \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043a\u0430\u043a \u043d\u0435\u0432\u043d\u044f\u0442\u043d\u044b\u0439 OperationError\/NotSupportedError. \u042d\u0442\u043e \u0436\u0435 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0432\u0432\u0435\u0441\u0442\u0438 \u043a\u043b\u044e\u0447 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043a\u0430\u043a \u043d\u0435\u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u043c\u044b\u0439 (extractable = false), \u043d\u0435 \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u044f \u0435\u0433\u043e \u0432 JS.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>SubtleCrypto.verify()<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Promise verify(AlgorithmIdentifier algorithm, CryptoKey key, BufferSource signature, BufferSource data);<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u044c. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0441 \u0427\u0415\u0422\u042b\u0420\u042c\u041c\u042f \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u0438 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439, \u0447\u0435\u0439 Promise \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u0432 boolean.\u26a0\ufe0f \u041f\u043e\u0440\u044f\u0434\u043e\u043a \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432: signature \u0418\u0414\u0401\u0422 \u041f\u0415\u0420\u0415\u0414 data. \u041f\u0435\u0440\u0435\u043f\u0443\u0442\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0441\u0442\u0430\u043c\u0438 \u0431\u0443\u0444\u0435\u0440\u044b \u043d\u0435 \u0431\u0440\u043e\u0441\u0430\u044e\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u2014 Promise \u043f\u0440\u043e\u0441\u0442\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u0432 false, \u0438 \u043e\u0448\u0438\u0431\u043a\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043a\u0430\u043a \u00ab\u043d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u044c\u00bb. Promise \u043e\u0442\u043a\u043b\u043e\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 API, \u0430 \u043d\u0435 \u043f\u0440\u0438 \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>SubtleCrypto.wrapKey()<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Promise wrapKey(KeyFormat format, CryptoKey key, CryptoKey wrappingKey, AlgorithmIdentifier wrapAlgorithm);<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 key \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 format \u0438 \u0442\u0443\u0442 \u0436\u0435 \u0448\u0438\u0444\u0440\u0443\u0435\u0442 \u0435\u0433\u043e \u043d\u0430 wrappingKey. \u041f\u0435\u0440\u0432\u044b\u043c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0438\u0434\u0451\u0442 KeyFormat, \u0430 \u043d\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c.\u26a0\ufe0f \u041f\u043e\u0434\u0440\u044f\u0434 \u0438\u0434\u0443\u0442 \u0434\u0432\u0430 CryptoKey \u2014 \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u0438 \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0439; \u043f\u0435\u0440\u0435\u043f\u0443\u0442\u0430\u0442\u044c \u0438\u0445 \u043b\u0435\u0433\u043a\u043e, \u0430 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u0432\u043d\u044f\u0442\u043d\u043e\u0439. wrappingKey \u043e\u0431\u044f\u0437\u0430\u043d \u0438\u043c\u0435\u0442\u044c usage \u201cwrapKey\u201d. \u0418 \u0433\u043b\u0430\u0432\u043d\u043e\u0435: \u043e\u0431\u0435\u0440\u043d\u0443\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e extractable-\u043a\u043b\u044e\u0447, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e wrapKey \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u043e\u043c.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>X25519<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">Registration \u00a726.2: deriveBits | EcdhKeyDeriveParams | byte sequence; generateKey | None | CryptoKeyPair; importKey | None | CryptoKey; exportKey | None | object\u0437\u043d\u0430\u0447.: \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0447\u0435\u0442\u044b\u0440\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438: deriveBits, generateKey, importKey, exportKey<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0435\u0439 \u043f\u043e RFC 7748. \u041f\u0430\u0440\u043d\u044b\u0439 \u043a Ed25519 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c: \u0442\u043e\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442, \u044d\u0442\u043e\u0442 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043e\u0431\u0449\u0438\u0439 \u0441\u0435\u043a\u0440\u0435\u0442.\u26a0\ufe0f \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 sign\/verify \u0434\u043b\u044f X25519 \u041d\u0415 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u2014 \u043f\u0443\u0442\u0430\u0442\u044c \u0435\u0433\u043e \u0441 Ed25519 \u043d\u0435\u043b\u044c\u0437\u044f. deriveKey \u0442\u043e\u0436\u0435 \u043d\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e, \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 deriveBits. \u0421\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0442\u0440\u0435\u0431\u0443\u0435\u0442 constant-time \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0443\u043b\u0435\u0432\u043e\u0433\u043e \u0441\u0435\u043a\u0440\u0435\u0442\u0430: \u00abIf secret is the all-zero value, then throw a OperationError\u00bb.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>exportKey(\"raw\", key) \u2014 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430\u043c<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">exportKey(\u201craw\u201d, key) -&gt; \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430; \u0438\u043d\u0430\u0447\u0435 NotSupportedError\u0437\u043d\u0430\u0447.: \u0421\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f (\u0448\u0430\u0433\u0438 Export Key): \u201craw\u201d \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 ECDSA, ECDH, Ed25519, X25519, AES-CTR, AES-CBC, AES-GCM, AES-KW, HMAC; \u041d\u0415 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 RSASSA-PKCS1-v1_5, RSA-PSS, RSA-OAEP (\u0443 \u043d\u0438\u0445 \u0442\u043e\u043b\u044c\u043a\u043e \u201cspki\u201d, \u201cpkcs8\u201d, \u201cjwk\u201d)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u00abraw \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u043b\u044f \u043b\u044e\u0431\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430\u00bb \u043d\u0435\u0432\u0435\u0440\u043d\u043e. \u0428\u0430\u0433\u0438 Export Key \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430, \u0438 \u0432\u0435\u0442\u043a\u0430 \u0434\u043b\u044f \u043d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u00abOtherwise: throw a NotSupportedError\u00bb.\u26a0\ufe0f RSA-\u043a\u043b\u044e\u0447\u0438 \u0432 \u201craw\u201d \u043d\u0435 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432\u043e\u043e\u0431\u0449\u0435: \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u2014 \u201cspki\u201d \u0434\u043b\u044f \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u0438 \u201cpkcs8\u201d \u0434\u043b\u044f \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0433\u043e. MDN \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0435\u0449\u0451 \u0443\u0436\u0435, \u0447\u0435\u043c Level 2: \u00abYou can use this format to import or export AES or HMAC secret keys, or Elliptic Curve public keys (ECDSA or ECDH)\u00bb \u2014 \u043f\u0440\u043e Ed25519\/X25519 \u0442\u0430\u043c \u043d\u0435 \u0441\u043a\u0430\u0437\u0430\u043d\u043e, \u0445\u043e\u0442\u044f Level 2 \u0438\u0445 \u201craw\u201d-\u0432\u0435\u0442\u043a\u0443 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442. \u041f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 EC-\u043a\u043b\u044e\u0447 \u0447\u0435\u0440\u0435\u0437 \u201craw\u201d \u0442\u043e\u0436\u0435 \u043d\u0435 \u0432\u044b\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>extractable \/ keyUsages \u2014 \u0441\u0432\u043e\u0434\u043a\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0439<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">generateKey(alg, extractable, keyUsages) | importKey(format, keyData, alg, extractable, keyUsages) | deriveKey(alg, baseKey, derivedKeyType, extractable, keyUsages) | unwrapKey(format, wrappedKey, unwrappingKey, unwrapAlg, unwrappedKeyAlg, extractable, keyUsages)\u0437\u043d\u0430\u0447.: \u0420\u043e\u0432\u043d\u043e \u0447\u0435\u0442\u044b\u0440\u0435 \u043c\u0435\u0442\u043e\u0434\u0430: generateKey (\u043f\u043e\u0437\u0438\u0446\u0438\u0438 2, 3), importKey (4, 5), deriveKey (4, 5), unwrapKey (6, 7)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">extractable \u0438 keyUsages \u2014 \u0432\u0441\u0435\u0433\u0434\u0430 \u041f\u041e\u0417\u0418\u0426\u0418\u041e\u041d\u041d\u042b\u0415 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0434\u0432\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445. \u041e\u043d\u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u044f\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0447\u043b\u0435\u043d\u0430\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 (Algorithm, RsaHashedKeyGenParams, EcKeyGenParams \u0438 \u043f\u0440\u043e\u0447\u0438\u0445).\u26a0\ufe0f \u0418\u0445 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435 \u0447\u0435\u0442\u044b\u0440\u0435 \u043c\u0435\u0442\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0421\u041e\u0417\u0414\u0410\u042e\u0422 \u043d\u043e\u0432\u044b\u0439 CryptoKey. \u0423 encrypt\/decrypt\/sign\/verify\/digest\/deriveBits\/exportKey\/wrapKey \u0438\u0445 \u043d\u0435\u0442 \u0432\u043e\u0432\u0441\u0435. \u0415\u0441\u043b\u0438 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c extractable \u0432\u043d\u0443\u0442\u0440\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430, WebIDL-\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u0442 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0447\u043b\u0435\u043d \u0431\u0435\u0437 \u043e\u0448\u0438\u0431\u043a\u0438, \u0430 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0438\u0439 boolean-\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a extractable = false.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442-\u043f\u0435\u0440\u0432\u043e\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\"><a href=\"https:\/\/www.w3.org\/TR\/WebCryptoAPI\/\" rel=\"noopener nofollow\">https:\/\/www.w3.org\/TR\/WebCryptoAPI\/<\/a> -&gt; 301 -&gt; <a href=\"https:\/\/www.w3.org\/TR\/webcrypto\/\" rel=\"noopener nofollow\">https:\/\/www.w3.org\/TR\/webcrypto\/<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">URL \u0438\u0437 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u043e\u0442\u0434\u0430\u0451\u0442 301 \u043d\u0430 \/TR\/webcrypto\/, \u0433\u0434\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u043b\u0435\u0436\u0438\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u00abWeb Cryptography Level 2\u00bb (W3C First Public Working Draft 22 April 2025, \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 Daniel Huigens). \u0418\u043c\u0435\u043d\u043d\u043e \u0435\u0433\u043e IDL \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043d \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u043e\u043a\u0430\u0445 \u043d\u0438\u0436\u0435.\u26a0\ufe0f \u042d\u0442\u043e \u041d\u0415 Recommendation 2017 \u0433\u043e\u0434\u0430. Level 1 (REC 26 January 2017, \/TR\/2017\/REC-WebCryptoAPI-20170126\/) \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0438 Ed25519, \u043d\u0438 X25519, \u043d\u0438 randomUUID, \u0438 \u0432 \u043d\u0451\u043c deriveBits(length) \u2014 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442. \u0421\u0441\u044b\u043b\u0430\u044f\u0441\u044c \u043d\u0430 \u00abWebCryptoAPI\u00bb, \u0443\u0442\u043e\u0447\u043d\u044f\u0439\u0442\u0435 \u0443\u0440\u043e\u0432\u0435\u043d\u044c: \/TR\/webcrypto\/ \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 Level 2.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<blockquote>\n<p><strong>\u0412\u0435\u0440\u0441\u0438\u0438 \u0438 \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0435 \u043a\u0430\u043c\u043d\u0438:<\/strong><\/p>\n<ul>\n<li>\n<p><code>crypto.subtle<\/code> \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435: \u043f\u043e HTTPS \u0438\u043b\u0438 \u043d\u0430 localhost.<\/p>\n<\/li>\n<li>\n<p><code>exportKey('spki')<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 <code>SubjectPublicKeyInfo<\/code> \u2014 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0432 PKCS#10 \u0434\u043e\u0441\u043b\u043e\u0432\u043d\u043e, \u043d\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u044f.<\/p>\n<\/li>\n<li>\n<p>\u0411\u0435\u0437 <code>extractable: true<\/code> \u043a\u043b\u044e\u0447 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u0444\u0430\u0439\u043b. \u042d\u0442\u043e \u043f\u043b\u0430\u0442\u0430 \u0437\u0430 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u043e: \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u043c\u044b\u0439 \u043a\u043b\u044e\u0447 \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043b\u044e\u0431\u043e\u043c\u0443 \u0441\u043a\u0440\u0438\u043f\u0442\u0443 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0432\u0435\u0440\u0435\u043d\u043e \u0441: <a href=\"https:\/\/www.w3.org\/TR\/WebCryptoAPI\/\" rel=\"noopener nofollow\">https:\/\/www.w3.org\/TR\/WebCryptoAPI\/<\/a>, <a href=\"https:\/\/www.w3.org\/TR\/webcrypto\/\" rel=\"noopener nofollow\">https:\/\/www.w3.org\/TR\/webcrypto\/<\/a>, <a href=\"https:\/\/www.w3.org\/TR\/2025\/WD-webcrypto-2-20250422\/\" rel=\"noopener nofollow\">https:\/\/www.w3.org\/TR\/2025\/WD-webcrypto-2-20250422\/<\/a>, <a href=\"https:\/\/www.w3.org\/TR\/2017\/REC-WebCryptoAPI-20170126\/\" rel=\"noopener nofollow\">https:\/\/www.w3.org\/TR\/2017\/REC-WebCryptoAPI-20170126\/<\/a>, <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/SubtleCrypto\" rel=\"noopener nofollow\">https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/SubtleCrypto<\/a>, <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/SubtleCrypto\/importKey\" rel=\"noopener nofollow\">https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/SubtleCrypto\/importKey<\/a>, <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/SubtleCrypto\/exportKey\" rel=\"noopener nofollow\">https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/SubtleCrypto\/exportKey<\/a>, <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/SubtleCrypto\/sign\" rel=\"noopener nofollow\">https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/SubtleCrypto\/sign<\/a><\/p>\n<\/li>\n<\/ul>\n<\/blockquote>\n<\/div>\n<\/details>\n<h4>1.2. \u0413\u043b\u0430\u0432\u043d\u0430\u044f \u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u044d\u0442\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0438<\/h4>\n<p>\u041e\u043d\u0430 \u043d\u0435 \u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438. \u041e\u043d\u0430 \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u0438\u043c\u0435\u043d\u0438.<\/p>\n<p>\u0414\u0432\u0438\u0436\u043e\u043a \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0440\u0435\u0434\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0441 \u0443\u0447\u0451\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u044c\u044e <strong>\u043f\u043e DN<\/strong>. \u0417\u043d\u0430\u0447\u0438\u0442, \u0435\u0441\u043b\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442\u044c \u0437\u0430\u044f\u0432\u0438\u0442\u0435\u043b\u044e \u0441\u0430\u043c\u043e\u043c\u0443 \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u0438\u043c\u044f, \u043e\u043d \u0432\u044b\u043f\u0438\u0448\u0435\u0442 \u0441\u0435\u0431\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0441 DN \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u2014 \u0438 \u0432\u043e\u0439\u0434\u0451\u0442 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u043c. \u0421\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043b\u0435\u0433\u0430\u043b\u044c\u043d\u044b\u043c, \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u043c, \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c \u0432\u0430\u0448\u0438\u043c \u0436\u0435 \u0423\u0426 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u043c.<\/p>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u043c\u044f \u0432 \u0444\u043e\u0440\u043c\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e, \u043d\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0434\u043b\u044f \u043f\u0440\u0430\u0432\u043a\u0438, \u0430 \u0441\u0435\u0440\u0432\u0435\u0440 <strong>\u043d\u0435 \u0432\u0435\u0440\u0438\u0442<\/strong> \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043f\u0440\u0438\u0448\u043b\u043e \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435. \u0421\u0443\u0431\u044a\u0435\u043a\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0437 \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u043b\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f <code>openssl<\/code> \u043a\u043b\u044e\u0447\u043e\u043c <code>-subj<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u0435\u0442 subject \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0446\u0435\u043b\u0438\u043a\u043e\u043c. \u0427\u0442\u043e \u0431\u044b \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043d\u0438 \u043f\u043e\u043b\u043e\u0436\u0438\u043b \u0432 CSR, \u0434\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0434\u043e\u0435\u0434\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447.<\/p>\n<p>\u0422\u0435\u0441\u0442 \u043d\u0430 \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u0442\u0430\u043a: \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 \u0441 <code>CN=\u0421\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0414\u0440\u0443\u0433\u043e\u0439 \u0427\u0435\u043b\u043e\u0432\u0435\u043a<\/code> \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0432 \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u043c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0435 \u0441\u0442\u043e\u0438\u0442 \u0438\u043c\u044f \u0443\u0447\u0451\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438.<\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u0435\u0442 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043b\u0435\u0433\u043a\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c. \u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 \u0443 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0442\u0430 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043b\u0430 subject <strong>\u0438\u0437 \u0437\u0430\u043f\u0440\u043e\u0441\u0430<\/strong> \u2014 \u0430 \u0432 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442-\u0442\u043e \u043f\u043e\u043f\u0430\u0434\u0451\u0442 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439. \u041f\u043e\u043a\u0430 \u0438\u043c\u0435\u043d\u0430 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u043b\u0438, \u0440\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u043d\u0435\u0437\u0430\u043c\u0435\u0442\u043d\u043e; \u0441\u0442\u043e\u0438\u043b\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u2014 \u0438 \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0442\u0430\u043b \u043f\u0430\u0434\u0430\u0442\u044c \u043d\u0430 <code>emailAddress: \u043f\u0440\u0430\u0432\u0438\u043b\u043e supplied<\/code>, \u0445\u043e\u0442\u044f \u043f\u043e\u0447\u0442\u0430 \u0432 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u043c \u0438\u043c\u0435\u043d\u0438 \u0431\u044b\u043b\u0430. \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043d\u0430\u0434\u043e \u0442\u043e, \u0447\u0442\u043e \u043f\u043e\u043f\u0430\u0434\u0451\u0442 \u0432 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442:<\/p>\n<pre><code class=\"go\">\/\/ \u0415\u0441\u043b\u0438 \u0441\u0443\u0431\u044a\u0435\u043a\u0442 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043b\u044e\u0447\u043e\u043c -subj, \u0432 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u043f\u043e\u043f\u0430\u0434\u0451\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u043d \u2014\/\/ \u0437\u043d\u0430\u0447\u0438\u0442 \u0438 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043f\u0440\u043e\u0442\u0438\u0432 \u043d\u0435\u0433\u043e, \u0430 \u043d\u0435 \u043f\u0440\u043e\u0442\u0438\u0432 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0437\u0430\u044f\u0432\u0438\u0442\u0435\u043b\u044c.subject := csr.Subjectif strings.TrimSpace(p.Subject) != \"\" {    subject = SubjectFromString(p.Subject)}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043a\u043d\u043e\u043f\u043a\u0438 \u2014 \u043f\u0440\u044f\u043c\u044b\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u0438\u0437 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0430\u0442\u0430\u043a:<\/p>\n<ul>\n<li>\n<p><strong>\u0422\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0432\u043e\u0448\u0435\u0434\u0448\u0438\u0445.<\/strong> \u0410\u043d\u043e\u043d\u0438\u043c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0441\u0435\u0431\u0435 \u043d\u0435 \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u0442: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u0445\u043e\u0434 \u043f\u043e \u043f\u0430\u0440\u043e\u043b\u044e, \u043f\u043e\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442.<\/p>\n<\/li>\n<li>\n<p><strong>\u0417\u0430\u0449\u0438\u0442\u0430 \u043e\u0442 \u043c\u0435\u0436\u0441\u0430\u0439\u0442\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u043b\u043a\u0438 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430.<\/strong> \u0411\u0435\u0437 \u043d\u0435\u0451 \u0447\u0443\u0436\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0436\u0435\u0440\u0442\u0432\u044b \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u043d\u0430 \u043a\u043b\u044e\u0447 \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0435\u0433\u043e \u2014 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439, \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439, \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u0436\u0435\u0440\u0442\u0432\u044b.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u0442\u043e\u0439\u043a\u043e\u0441\u0442\u0438 \u043a\u043b\u044e\u0447\u0430 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435.<\/strong> \u0411\u0440\u0430\u0443\u0437\u0435\u0440\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u043d\u0438\u0447\u0435\u0433\u043e: \u0437\u0430\u043f\u0440\u043e\u0441 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0439\u0442\u0438 \u043e\u0442\u043a\u0443\u0434\u0430 \u0443\u0433\u043e\u0434\u043d\u043e.<\/p>\n<\/li>\n<li>\n<p><strong>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0447\u0430\u0441\u0442\u043e\u0442\u044b.<\/strong> \u041f\u044f\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u0432 \u0447\u0430\u0441 \u043d\u0430 \u0443\u0447\u0451\u0442\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c: \u0438\u043d\u0430\u0447\u0435 \u043a\u043d\u043e\u043f\u043a\u0430 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u043f\u043e\u0441\u043e\u0431 \u0440\u0430\u0437\u0434\u0443\u0442\u044c <code>index.txt<\/code> \u0438 CRL \u0434\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043e\u0442\u0437\u044b\u0432\u0430 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0451\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0443 \u0432\u0441\u0435\u0445.<\/p>\n<\/li>\n<li>\n<p><strong>\u0417\u0430\u043d\u044f\u0442\u043e\u0435 \u0438\u043c\u044f.<\/strong> \u0415\u0441\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0439\u0441\u044f DN \u0443\u0436\u0435 \u0437\u0430\u043a\u0440\u0435\u043f\u043b\u0451\u043d \u0437\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0443\u0447\u0451\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u044c\u044e, \u0432\u044b\u043f\u0443\u0441\u043a \u043e\u0442\u043a\u043b\u043e\u043d\u044f\u0435\u0442\u0441\u044f: \u0438\u043d\u0430\u0447\u0435 \u044d\u0442\u043e \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c \u0447\u0443\u0436\u043e\u0439 \u0434\u043e\u0441\u0442\u0443\u043f.<\/p>\n<\/li>\n<\/ul>\n<p>\u0418 \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u043d\u0435 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e \u0443\u0432\u0430\u0436\u0435\u043d\u0438\u0435 \u043a \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443. \u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0423\u0426 \u0438\u0437 \u0427\u0430\u0441\u0442\u0438 1 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 <code>emailAddress = supplied<\/code>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0443 \u0443\u0447\u0451\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0431\u0435\u0437 \u043f\u043e\u0447\u0442\u044b \u0432\u044b\u043f\u0443\u0441\u043a \u043e\u0431\u0440\u0435\u0447\u0451\u043d \u2014 \u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u043e\u0431 \u044d\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0434\u0432\u0443\u043c\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u041b\u0438\u0431\u043e \u043f\u043e\u0441\u043b\u0435 \u0444\u043e\u0440\u043a\u0430 <code>openssl<\/code>, \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c \u00abThe emailAddress field needed to be supplied and was missing\u00bb, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e \u043d\u0438 \u0447\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u043d\u0438 \u043a\u043e\u043c\u0443. \u041b\u0438\u0431\u043e \u0437\u0430\u0440\u0430\u043d\u0435\u0435, \u043f\u0440\u044f\u043c\u043e \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435: \u00ab\u0432 \u0432\u0430\u0448\u0435\u0439 \u0443\u0447\u0451\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0430 \u043f\u043e\u0447\u0442\u0430, \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u0435\u0451 \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c\u00bb. \u0414\u0432\u0438\u0436\u043e\u043a \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u0432\u0442\u043e\u0440\u043e\u0435 \u2014 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0438\u0437 \u043a\u043e\u043d\u0444\u0438\u0433\u0430 \u0434\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0447\u0442\u043e-\u043b\u0438\u0431\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f.<\/p>\n<hr\/>\n<h4>1.3. \u0422\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435<\/h4>\n<p>\u0412\u0441\u0451, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435, \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 \u2014 \u0434\u0432\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u0418\u0445 \u0441\u0442\u043e\u0438\u0442 \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043f\u043e\u0434 \u0440\u0443\u043a\u043e\u0439: \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u0445 \u0432\u044b \u0434\u0430\u0434\u0438\u0442\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442, \u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u043c\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0441\u0431\u043e\u0440\u0449\u0438\u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043d\u0435 \u0432\u0440\u0451\u0442.<\/p>\n<pre><code class=\"bash\">openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out my.key.pemopenssl req -new -key my.key.pem -out my.csr.pem -sha256 -utf8 \\  -subj \"\/C=RU\/O=CertService\/CN=\u0424\u0430\u043c\u0438\u043b\u0438\u044f \u0418\u043c\u044f\/emailAddress=you@certservice.info\"<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<h4>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a: openssl genpkey<\/h4>\n<details class=\"spoiler\">\n<summary>\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u2014 64 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 (openssl genpkey)<\/summary>\n<div class=\"spoiler__content\">\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \/ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041f\u043e \u0443\u043c\u043e\u043b\u0447.<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438 \u043d\u044e\u0430\u043d\u0441\u044b<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-algorithm<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-algorithm alg\u0437\u043d\u0430\u0447.: RSA, RSA-PSS, EC, X25519, X448, ED25519, ED448, ML-DSA, ML-KEM, DSA, DH, DHX \u0438 \u0434\u0440.<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0434\u0430\u0451\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430. \u0414\u043e\u043b\u0436\u043d\u0430 \u0438\u0434\u0442\u0438 \u0414\u041e \u043b\u044e\u0431\u044b\u0445 -pkeyopt. \u0412\u0437\u0430\u0438\u043c\u043e\u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0430\u044f \u0441 -paramfile.\u26a0\ufe0f \u041f\u043e\u0440\u044f\u0434\u043e\u043a \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0437\u043d\u0430\u0447\u0438\u043c \u2014 \u044d\u0442\u043e \u043d\u0435 GNU-style \u043f\u0430\u0440\u0441\u0435\u0440: <code>-pkeyopt rsa_keygen_bits:4096 -algorithm RSA<\/code> \u043c\u043e\u043b\u0447\u0430 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u043b\u0438 \u0443\u043f\u0430\u0434\u0451\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 -pkeyopt \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0435\u0449\u0451 \u043d\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d. \u0412\u0441\u0435\u0433\u0434\u0430 \u0441\u0442\u0430\u0432\u044c\u0442\u0435 -algorithm \u043f\u0435\u0440\u0432\u044b\u043c.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-cipher<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-cipher (\u0438\u043c\u044f \u0448\u0438\u0444\u0440\u0430 \u043a\u0430\u043a \u043e\u043f\u0446\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 -aes-128-cbc \u0438\u043b\u0438 -aes-256-cbc)\u0437\u043d\u0430\u0447.: \u043b\u044e\u0431\u043e\u0439 \u0448\u0438\u0444\u0440 \u0438\u0437 <code>openssl list -cipher-algorithms<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0431\u0435\u0437 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0428\u0438\u0444\u0440\u0443\u0435\u0442 \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0448\u0438\u0444\u0440\u043e\u043c. \u0418\u043c\u044f \u0448\u0438\u0444\u0440\u0430 \u0441\u0430\u043c\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u043f\u0446\u0438\u0435\u0439 \u0441 \u0434\u0435\u0444\u0438\u0441\u043e\u043c \u0432\u043f\u0435\u0440\u0435\u0434\u0438, \u0430 \u043d\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0444\u043b\u0430\u0433\u0430.\u26a0\ufe0f \u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u043d\u0435\u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0439: \u043f\u0438\u0448\u0435\u0442\u0441\u044f <code>-aes-256-cbc<\/code>, \u0430 \u043d\u0435 <code>-cipher aes-256-cbc<\/code> \u2014 \u0432\u0442\u043e\u0440\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0435 \u0440\u0430\u0437\u0431\u043e\u0440\u0430. \u0414\u043e OpenSSL 4.0 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043a PEM: \u0441 -outform DER \u043a\u043b\u044e\u0447 \u0432\u044b\u0445\u043e\u0434\u0438\u043b \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c, \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0448\u0438\u0444\u0440 \u0438 \u043f\u0430\u0440\u043e\u043b\u044c.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-config<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-config configfile\u0437\u043d\u0430\u0447.: \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 OpenSSL. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u2014 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u00abConfiguration Option\u00bb \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b openssl(1).\u26a0\ufe0f \u041a\u043e\u043d\u0444\u0438\u0433 \u043c\u043e\u0436\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u044b \u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 genpkey \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043d\u0435\u0433\u043e \u0434\u0430\u0436\u0435 \u0442\u0430\u043c, \u0433\u0434\u0435 \u0432\u044b \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0436\u0434\u0451\u0442\u0435. \u0415\u0441\u043b\u0438 \u0441\u0431\u043e\u0440\u043e\u0447\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u043f\u0440\u043e\u0434 \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f openssl.cnf, \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0432\u044b\u0437\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0434\u0430\u0442\u044c \u043a\u043b\u044e\u0447, \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u043c\u0438.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-encopt<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-encopt opt:value\u0437\u043d\u0430\u0447.: \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 opt \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 value. \u041c\u043e\u0436\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437. \u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043a \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e ML-DSA \u0438 ML-KEM \u0432 PKCS#8.\u26a0\ufe0f \u041d\u0435 \u043f\u0443\u0442\u0430\u0439\u0442\u0435 \u0441 -pkeyopt: -pkeyopt \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u043a\u043b\u044e\u0447\u0430, -encopt \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0442\u043e, \u043a\u0430\u043a \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043a\u043b\u044e\u0447 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f. \u041e\u043f\u0446\u0438\u044f \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432 OpenSSL 4.0, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0441 \u043d\u0435\u0439 \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u044f\u0442\u0441\u044f \u043d\u0430 3.x-\u0441\u0431\u043e\u0440\u043a\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u0441\u0442\u043e\u044f\u0442 \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 LTS-\u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043e\u0432.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-engine<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-engine<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u043f\u0446\u0438\u044f \u0432\u044b\u0431\u043e\u0440\u0430 ENGINE, \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u0430\u044f \u0438\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 OpenSSL 4.0. \u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c ENGINE \u0432\u044b\u0442\u0435\u0441\u043d\u0435\u043d \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432.\u26a0\ufe0f \u0421\u0442\u0430\u0440\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0434\u043b\u044f HSM\/PKCS#11 \u0441 <code>-engine pkcs11<\/code> \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043d\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u0434\u043e OpenSSL 4.0 \u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u043d\u0430 -provider. \u041f\u043b\u0430\u043d\u0438\u0440\u0443\u0439\u0442\u0435 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u2014 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u043e \u0434\u0435\u043f\u0440\u0435\u043a\u0430\u0446\u0438\u0438, \u0430 \u043f\u043e\u043b\u043d\u043e\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-genparam<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-genparam<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043d\u0430\u0431\u043e\u0440 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432\u043c\u0435\u0441\u0442\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430. \u0414\u043e\u043b\u0436\u043d\u0430 \u0438\u0434\u0442\u0438 \u0414\u041e \u043b\u044e\u0431\u044b\u0445 -algorithm, -paramfile \u0438\u043b\u0438 -pkeyopt.\u26a0\ufe0f \u0414\u0432\u043e\u0439\u043d\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0440\u044f\u0434\u043a\u0430: -genparam \u0440\u0430\u043d\u044c\u0448\u0435 -algorithm, \u0430 -algorithm \u0440\u0430\u043d\u044c\u0448\u0435 -pkeyopt. \u0418 \u043f\u043e\u043c\u043d\u0438\u0442\u0435, \u0447\u0442\u043e \u043f\u0440\u0438 -genparam \u0444\u043b\u0430\u0433 -outform \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u2014 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u044b\u0439\u0434\u0443\u0442 \u0432 PEM.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-help<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-help<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u0441\u043f\u0440\u0430\u0432\u043a\u0443 \u043f\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u0412 \u0441\u0432\u044f\u0437\u043a\u0435 \u0441 -algorithm \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0441\u043f\u0438\u0441\u043e\u043a -pkeyopt, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c.\u26a0\ufe0f \u042d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u0437\u043d\u0430\u0442\u044c \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a -pkeyopt \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0439 \u0441\u0431\u043e\u0440\u043a\u0438: \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 man \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b default-\u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430, \u0430 FIPS-\u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 \u0438\u043b\u0438 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0439 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0439 \u043d\u0430\u0431\u043e\u0440. \u041f\u0435\u0440\u0435\u0434 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043e\u043f\u0446\u0438\u0438 \u0432 \u0431\u043e\u0435\u0432\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 <code>openssl genpkey -algorithm XXX -help<\/code> \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-out<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-out filename\u0437\u043d\u0430\u0447.: \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b. \u0415\u0441\u043b\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u043d\u0435 \u0437\u0430\u0434\u0430\u043d, \u043a\u043b\u044e\u0447 \u0443\u0445\u043e\u0434\u0438\u0442 \u0432 stdout.\u26a0\ufe0f openssl \u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u0444\u0430\u0439\u043b \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u043f\u043e umask \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u2014 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e 0600 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f. \u0412 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445 \u0441\u0442\u0430\u0432\u044c\u0442\u0435 umask 077 \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u0437\u043e\u0432\u043e\u043c \u043b\u0438\u0431\u043e chmod 600 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435; \u0438\u043d\u0430\u0447\u0435 \u0441\u0432\u0435\u0436\u0435\u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f world-readable. \u0412\u044b\u0432\u043e\u0434 \u0432 stdout \u043f\u043b\u044e\u0441 \u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442 \u2014 \u0442\u0430 \u0436\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043f\u043b\u044e\u0441 \u0440\u0438\u0441\u043a \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0430 \u0432 \u043b\u043e\u0433\u0438 pipeline.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-outform<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-outform DER|PEM\u0437\u043d\u0430\u0447.: DER, PEM<\/p>\n<\/td>\n<td>\n<p align=\"left\">PEM<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430 \u043a\u043b\u044e\u0447\u0430. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e PEM. \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 -genparam \u043e\u043f\u0446\u0438\u044f \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f.\u26a0\ufe0f \u041c\u043e\u043b\u0447\u0430\u043b\u0438\u0432\u043e\u0435 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438 -genparam \u2014 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043b\u043e\u0432\u0443\u0448\u043a\u0430: \u0432\u044b \u043f\u0440\u043e\u0441\u0438\u0442\u0435 DER-\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 PEM \u0438 \u0431\u0435\u0437 \u0435\u0434\u0438\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 DER-\u043a\u043b\u044e\u0447\u0430 \u043f\u0430\u0440\u043e\u043b\u0435\u043c \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432 OpenSSL 4.0 \u2014 \u0432 \u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u043d\u043d\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 -pass \u0438 -aes-256-cbc \u0441 -outform DER \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u043b\u0438, \u043e\u0442\u0434\u0430\u0432\u0430\u044f \u043d\u0435\u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-outpubkey<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-outpubkey filename\u0437\u043d\u0430\u0447.: \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 \u043d\u0435 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b. \u0415\u0441\u043b\u0438 \u043e\u043f\u0446\u0438\u044f \u043d\u0435 \u0437\u0430\u0434\u0430\u043d\u0430, \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 \u043d\u0435 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u043e\u0432\u0441\u0435.\u26a0\ufe0f \u042d\u043a\u043e\u043d\u043e\u043c\u0438\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 <code>openssl pkey -pubout<\/code>, \u043d\u043e \u043c\u043d\u043e\u0433\u0438\u0435 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0438 Ansible-\u0440\u043e\u043b\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043f\u043e\u0434 \u0441\u0442\u0430\u0440\u044b\u0439 \u0434\u0432\u0443\u0445\u0448\u0430\u0433\u043e\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0438 \u043f\u0440\u043e \u044d\u0442\u0443 \u043e\u043f\u0446\u0438\u044e \u043d\u0435 \u0437\u043d\u0430\u044e\u0442. \u0424\u043e\u0440\u043c\u0430\u0442 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u043f\u043e\u0434\u0447\u0438\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043c\u0443 \u0436\u0435 -outform, \u0447\u0442\u043e \u0438 \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439 \u2014 \u0440\u0430\u0437\u0434\u0435\u043b\u044c\u043d\u043e \u0438\u0445 \u0437\u0430\u0434\u0430\u0442\u044c \u043d\u0435\u043b\u044c\u0437\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-paramfile<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-paramfile filename\u0437\u043d\u0430\u0447.: \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 \u2014 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u0441\u0442\u0440\u043e\u044f\u0442 \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 \u043d\u0430 \u0438\u0445 \u043e\u0441\u043d\u043e\u0432\u0435. \u0414\u043e\u043b\u0436\u043d\u0430 \u0438\u0434\u0442\u0438 \u0434\u043e \u043b\u044e\u0431\u044b\u0445 -pkeyopt. \u0412\u0437\u0430\u0438\u043c\u043e\u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0430\u044f \u0441 -algorithm.\u26a0\ufe0f \u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0438\u0437 \u0441\u0430\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c -algorithm \u0440\u044f\u0434\u043e\u043c \u2014 \u043e\u0448\u0438\u0431\u043a\u0430, \u0430 \u043d\u0435 \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435. \u0414\u043b\u044f DH \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u043f\u0440\u043e\u0449\u0435 \u0437\u0430\u0434\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 -pkeyopt group:name, \u0442\u043e\u0433\u0434\u0430 -paramfile \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u043d\u0443\u0436\u0435\u043d.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-pass<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pass arg\u0437\u043d\u0430\u0447.: pass:, env:, file:, fd:, stdin (\u0441\u043c. openssl-passphrase-options(1))<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u0430\u0440\u043e\u043b\u044f \u0434\u043b\u044f \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430. \u0424\u043e\u0440\u043c\u0430\u0442 arg \u043e\u043f\u0438\u0441\u0430\u043d \u0432 openssl-passphrase-options(1).\u26a0\ufe0f pass:hello \u0438\u0437 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0433\u043e\u0434\u0438\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0434\u0435\u043c\u043e: \u043f\u0430\u0440\u043e\u043b\u044c \u0432\u0438\u0434\u0435\u043d \u0432 ps \u0438 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0432 history. \u0412 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 file: \u0438\u043b\u0438 fd:, \u043d\u043e \u043d\u0435 env: \u2014 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \/proc\/\/environ. \u0421\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 -pass \u043d\u0435 \u0448\u0438\u0444\u0440\u0443\u0435\u0442: \u0431\u0435\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0448\u0438\u0444\u0440\u0430 (-aes-256-cbc) \u043e\u043d \u043d\u0435 \u0434\u0430\u0441\u0442 \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-pkeyopt<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt opt:value\u0437\u043d\u0430\u0447.: \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u043e\u043f\u0446\u0438\u044e opt \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 value. \u041e\u043f\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e\u043a\u0440\u0430\u0442\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432.\u26a0\ufe0f \u0420\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u2014 \u0434\u0432\u043e\u0435\u0442\u043e\u0447\u0438\u0435, \u0430 \u043d\u0435 \u0437\u043d\u0430\u043a \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u0430: <code>rsa_keygen_bits=4096<\/code> \u043d\u0435 \u043f\u0440\u043e\u0439\u0434\u0451\u0442. \u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0435 \u0438\u043c\u044f \u043e\u043f\u0446\u0438\u0438 \u0434\u0430\u0451\u0442 \u043e\u0448\u0438\u0431\u043a\u0443, \u043d\u043e \u043d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u0417\u041d\u0410\u0427\u0415\u041d\u0418\u0415 \u0438\u043d\u043e\u0433\u0434\u0430 \u043c\u043e\u043b\u0447\u0430 \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u043c \u2014 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0447\u0435\u0440\u0435\u0437 <code>openssl pkey -in key.pem -text -noout<\/code>.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-propquery<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-propquery propq\u0437\u043d\u0430\u0447.: \u0441\u0442\u0440\u043e\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u201cprovider=fips\u201d<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0442\u0440\u043e\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0441\u0440\u0435\u0434\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u2014 \u0432 property(7).\u26a0\ufe0f \u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u00ab?\u00bb \u0438 \u00ab=\u00bb \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u0430: <code>?provider=fips<\/code> \u2014 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0435\u043d\u0438\u0435 \u0441 \u043e\u0442\u043a\u0430\u0442\u043e\u043c \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440, <code>provider=fips<\/code> \u2014 \u0436\u0451\u0441\u0442\u043a\u043e\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435. \u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0442\u0438\u0445\u043e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043a\u043b\u044e\u0447 \u043d\u0435-FIPS \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439, \u0435\u0441\u043b\u0438 FIPS-\u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-provider<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-provider name\u0437\u043d\u0430\u0447.: \u0438\u043c\u044f \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 (default, fips, legacy, base \u0438 \u0434\u0440.)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u2014 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u00abProvider Options\u00bb \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b openssl(1), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432 provider(7).\u26a0\ufe0f \u042f\u0432\u043d\u043e\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435 -provider fips \u041e\u0422\u041a\u041b\u042e\u0427\u0410\u0415\u0422 default-\u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440, \u0435\u0441\u043b\u0438 \u0442\u043e\u0442 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d \u0440\u044f\u0434\u043e\u043c \u2014 \u0447\u0430\u0441\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0438 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043d\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f. \u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u0430 \u043f\u0430\u0440\u0430 <code>-provider fips -provider base<\/code>.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-provider-path<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-provider-path path\u0437\u043d\u0430\u0447.: \u043f\u0443\u0442\u044c \u043a \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0443<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041a\u0430\u0442\u0430\u043b\u043e\u0433, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0438\u0441\u043a\u0430\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u0438 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u2014 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u00abProvider Options\u00bb \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b openssl(1).\u26a0\ufe0f \u041e\u043f\u0446\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u0440\u0435\u0434\u0448\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c -provider \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, \u0438\u043d\u0430\u0447\u0435 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 \u0443\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u043f\u043e \u0441\u0442\u0430\u0440\u043e\u043c\u0443 \u043f\u0443\u0442\u0438. \u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u043f\u0443\u0442\u0438 \u043d\u0435 \u043e\u0442\u043c\u0435\u043d\u044f\u0435\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438\/\u0441\u0430\u043c\u043e\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0434\u043b\u044f FIPS-\u043c\u043e\u0434\u0443\u043b\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-provparam<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-provparam [name:]key=value\u0437\u043d\u0430\u0447.: \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0443. \u041d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u0435\u0444\u0438\u043a\u0441 name: \u0430\u0434\u0440\u0435\u0441\u0443\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0443.\u26a0\ufe0f \u0417\u0434\u0435\u0441\u044c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 key=value \u0447\u0435\u0440\u0435\u0437 \u0437\u043d\u0430\u043a \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u0430, \u0430 \u043d\u0435 opt:value \u0447\u0435\u0440\u0435\u0437 \u0434\u0432\u043e\u0435\u0442\u043e\u0447\u0438\u0435, \u043a\u0430\u043a \u0443 -pkeyopt \u2014 \u0440\u0430\u0437\u043d\u044b\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0438 \u0432 \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0445 \u043e\u043f\u0446\u0438\u044f\u0445 \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u0414\u0432\u043e\u0435\u0442\u043e\u0447\u0438\u0435 \u0442\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u043a \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u0438\u043c\u0435\u043d\u0438 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-quiet<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-quiet<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u043e\u0434\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u044b\u0432\u043e\u0434 \u00ab\u0442\u043e\u0447\u0435\u043a \u0441\u0442\u0430\u0442\u0443\u0441\u0430\u00bb \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043b\u044e\u0447\u0430.\u26a0\ufe0f -quiet \u0433\u043b\u0443\u0448\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0430, \u043d\u043e \u043d\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u043d\u0435 -text. \u041d\u0435 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0439\u0442\u0435 \u043d\u0430 \u043d\u0435\u0433\u043e \u043a\u0430\u043a \u043d\u0430 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0431\u0435\u0437\u0437\u0432\u0443\u0447\u043d\u043e\u0439.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-rand<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-rand files\u0437\u043d\u0430\u0447.: \u0441\u043f\u0438\u0441\u043e\u043a \u0444\u0430\u0439\u043b\u043e\u0432 (\u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u041e\u0421)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0434\u0430\u0451\u0442 \u0444\u0430\u0439\u043b\u044b-\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u044d\u043d\u0442\u0440\u043e\u043f\u0438\u0438 \u0434\u043b\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0413\u041f\u0421\u0427. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u2014 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u00abRandom State Options\u00bb \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b openssl(1).\u26a0\ufe0f \u041d\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 Linux\/BSD \u043e\u043f\u0446\u0438\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u0430: OpenSSL 3.x \u0431\u0435\u0440\u0451\u0442 \u044d\u043d\u0442\u0440\u043e\u043f\u0438\u044e \u0438\u0437 getrandom(2). \u0423\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u00ab\u0441\u0432\u043e\u0435\u0433\u043e\u00bb \u0444\u0430\u0439\u043b\u0430 \u044d\u043d\u0442\u0440\u043e\u043f\u0438\u0438 \u043d\u0435 \u0443\u043b\u0443\u0447\u0448\u0430\u0435\u0442, \u0430 \u0432 \u0445\u0443\u0434\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u0430\u0441\u043a\u0438\u0440\u0443\u0435\u0442 \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0413\u041f\u0421\u0427 \u0432\u043e \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-text<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-text<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u043d\u0435\u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0435\u0439 \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0440\u044f\u0434\u043e\u043c \u0441\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 PEM \u0438\u043b\u0438 DER.\u26a0\ufe0f \u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u2014 \u00abunencrypted\u00bb: -text \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0417\u0410\u041a\u0420\u042b\u0422\u041e\u0413\u041e \u043a\u043b\u044e\u0447\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u043c, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0441\u0430\u043c \u0444\u0430\u0439\u043b \u0432\u044b \u0448\u0438\u0444\u0440\u0443\u0435\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u0435\u043c. \u0412 CI-\u043b\u043e\u0433\u0430\u0445 \u044d\u0442\u043e \u0440\u0430\u0432\u043d\u043e\u0441\u0438\u043b\u044c\u043d\u043e \u0443\u0442\u0435\u0447\u043a\u0435 \u043a\u043b\u044e\u0447\u0430. \u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0443\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0435\u0435 <code>openssl pkey -pubout -text<\/code>.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-verbose<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-verbose<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u00ab\u0442\u043e\u0447\u043a\u0438 \u0441\u0442\u0430\u0442\u0443\u0441\u0430\u00bb \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043b\u044e\u0447\u0430, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441 \u043f\u043e\u0434\u0431\u043e\u0440\u0430 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0447\u0438\u0441\u0435\u043b.\u26a0\ufe0f \u0422\u043e\u0447\u043a\u0438 \u0438\u0434\u0443\u0442 \u0432 stderr, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u00ab\u0447\u0438\u0441\u0442\u044b\u0439\u00bb \u0432\u044b\u0432\u043e\u0434 \u0432 \u0444\u0430\u0439\u043b \u043e\u043d\u0438 \u043d\u0435 \u043f\u043e\u0440\u0442\u044f\u0442, \u043d\u043e \u0437\u0430\u043c\u0443\u0441\u043e\u0440\u0438\u0432\u0430\u044e\u0442 \u0436\u0443\u0440\u043d\u0430\u043b\u044b CI. \u0412 \u043d\u0435\u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0430\u0445 \u044f\u0432\u043d\u043e \u0441\u0442\u0430\u0432\u044c\u0442\u0435 -quiet, \u0430 \u043d\u0435 \u043f\u043e\u043b\u0430\u0433\u0430\u0439\u0442\u0435\u0441\u044c \u043d\u0430 \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-writerand<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-writerand file\u0437\u043d\u0430\u0447.: \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0413\u041f\u0421\u0427 \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043f\u043e\u0441\u043b\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u2014 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u00abRandom State Options\u00bb \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b openssl(1).\u26a0\ufe0f \u0424\u0430\u0439\u043b \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0413\u041f\u0421\u0427 \u2014 \u0441\u0435\u043a\u0440\u0435\u0442: \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0435\u043c\u0443 \u043d\u0430 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0430\u0442\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438. \u041d\u0435 \u043a\u043b\u0430\u0434\u0438\u0442\u0435 \u0435\u0433\u043e \u0432 \u043e\u0431\u0449\u0438\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0438 \u043d\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u044c\u0442\u0435.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>bits<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u201cbits\u201d (OSSL_PKEY_PARAM_RSA_BITS)\u0437\u043d\u0430\u0447.: unsigned integer<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0434\u043b\u0438\u043d\u0430 RSA-\u043a\u0440\u0438\u043f\u0442\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u0431\u0438\u0442\u0430\u0445. \u042d\u0442\u043e \u0438\u043c\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 EVP\/\u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430; \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 genpkey \u0435\u043c\u0443 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 rsa_keygen_bits.\u26a0\ufe0f \u041d\u0435 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0439\u0442\u0435 \u044d\u0442\u043e \u0438\u043c\u044f \u0432 -pkeyopt \u043f\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0438 \u2014 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 openssl-genpkey(1) \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0438\u043c\u0435\u043d\u043d\u043e rsa_keygen_bits. \u0418\u043c\u0435\u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u044f \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u043f\u0440\u0438\u0433\u043e\u0434\u044f\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u0432\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0435 EVP_PKEY_CTX_set_params() \u0438\u0437 \u043a\u043e\u0434\u0430 \u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 -provparam.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>dh_paramgen_type<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt dh_paramgen_type:value\u0437\u043d\u0430\u0447.: 0, 1, 2, 3 (\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 type: \u201cgenerator\u201d, \u201cfips186_2\u201d, \u201cfips186_4\u201d, \u201cgroup\u201d)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0427\u0438\u0441\u043b\u043e\u0432\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u0432\u044b\u0431\u043e\u0440\u0430 \u0442\u0438\u043f\u0430 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0445 DH-\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f 0, 1, 2, 3 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c \u043e\u043f\u0446\u0438\u0438 type \u2014 \u201cgenerator\u201d, \u201cfips186_2\u201d, \u201cfips186_4\u201d \u0438 \u201cgroup\u201d.\u26a0\ufe0f \u0427\u0438\u0441\u043b\u043e\u0432\u043e\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u041d\u0415 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u043c \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435: 1 \u2014 \u044d\u0442\u043e fips186_2, \u0430 2 \u2014 fips186_4, \u043b\u0435\u0433\u043a\u043e \u043f\u0435\u0440\u0435\u043f\u0443\u0442\u0430\u0442\u044c \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u043f\u043e \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0435\u043c\u0443 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0443. \u0415\u0441\u043b\u0438 \u043d\u0435 \u043e\u0431\u044f\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u0442\u0430\u0440\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442, \u043f\u0438\u0448\u0438\u0442\u0435 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u0443\u044e \u0444\u043e\u0440\u043c\u0443 type: \u2014 \u043e\u043d\u0430 \u0441\u0430\u043c\u043e\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>dh_rfc5114<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt dh_rfc5114:num\u0437\u043d\u0430\u0447.: 1, 2 \u0438\u043b\u0438 3 (\u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 group:\u201cdh_1024_160\u201d, \u201cdh_2048_224\u201d, \u201cdh_2048_256\u201d)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b RFC5114 \u0432\u043c\u0435\u0441\u0442\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u043e\u0432\u044b\u0445. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f 1, 2, 3 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0433\u0440\u0443\u043f\u043f\u0430\u043c dh_1024_160, dh_2048_224 \u0438 dh_2048_256. \u041f\u0440\u0438 \u0437\u0430\u0434\u0430\u043d\u0438\u0438 \u044d\u0442\u043e\u0439 \u043e\u043f\u0446\u0438\u0438 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f.\u26a0\ufe0f \u0413\u043e\u043b\u0430\u044f \u0446\u0438\u0444\u0440\u0430 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0435 \u0433\u0440\u0443\u043f\u043f\u044b: dh_rfc5114:1 \u2014 \u044d\u0442\u043e \u0432\u0441\u0435\u0433\u043e 1024 \u0431\u0438\u0442\u0430, \u0447\u0435\u0433\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u0427\u0438\u0442\u0430\u0435\u043c\u0435\u0435 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0435\u0435 \u043f\u0438\u0441\u0430\u0442\u044c group:dh_2048_256. \u0413\u0440\u0443\u043f\u043f\u044b RFC 5114 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043a\u0440\u0438\u0442\u0438\u043a\u0443\u044e\u0442\u0441\u044f \u0437\u0430 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u2014 \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u043e\u043f\u0430, \u0431\u0435\u0440\u0438\u0442\u0435 ffdhe* \u0438\u0437 RFC 7919 \u0441 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c DH.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>dhkem-ikm<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u201cdhkem-ikm\u201d (OSSL_PKEY_PARAM_DHKEM_IKM) \u0437\u043d\u0430\u0447.: \u043e\u043a\u0442\u0435\u0442\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">DHKEM \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u044b \u043a\u043b\u044e\u0447\u0435\u0439 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 (seed); \u044d\u0442\u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0435\u0433\u043e \u0438 \u0437\u0430\u0434\u0430\u0451\u0442.\u26a0\ufe0f \u041a\u0430\u043a \u0438 \u043b\u044e\u0431\u043e\u0435 \u0441\u0435\u043c\u044f, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0435\u0435 \u043a\u043b\u044e\u0447 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e, IKM \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u0435\u043d \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u043c\u0443 \u043a\u043b\u044e\u0447\u0443 \u043f\u043e \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 HPKE (RFC 9180), \u0430 \u043d\u0435 \u0432 \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 EC-\u043a\u043b\u044e\u0447\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>digest (DH)<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt digest:digest\u0437\u043d\u0430\u0447.: sha1, sha224, sha256<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0445\u0435\u0448 \u043f\u043e\u0434\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u0434\u043b\u0438\u043d\u0443 q<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0425\u0435\u0448, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0439 \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u0414\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c sha1, sha224 \u0438\u043b\u0438 sha256. \u0415\u0441\u043b\u0438 \u0437\u0430\u0434\u0430\u043d, \u0434\u043b\u0438\u043d\u0430 qbits \u043f\u043e\u0434\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u0440\u0430\u0437\u043c\u0435\u0440 \u0432\u044b\u0432\u043e\u0434\u0430 \u0445\u0435\u0448\u0430, \u0430 \u0441\u0430\u043c qbits \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0435\u0439 \u0442\u0438\u043f\u043e\u0432 \u201cfips186_4\u201d \u0438 \u201cfips186_2\u201d.\u26a0\ufe0f \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u043a\u0430\u043a SHA256 (\u0432\u0435\u0440\u0445\u043d\u0438\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u043c), \u0430 \u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u2014 sha256 (\u043d\u0438\u0436\u043d\u0438\u043c); \u0438\u043c\u0435\u043d\u0430 \u0445\u0435\u0448\u0435\u0439 \u0432 OpenSSL \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b, \u043d\u043e \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0435 \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0438 \u043f\u0440\u0438\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439\u0442\u0435\u0441\u044c \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0442\u0438\u043b\u044f. \u0421 \u043e\u0431\u044b\u0447\u043d\u044b\u043c DH (\u0442\u0438\u043f generator\/group) \u043e\u043f\u0446\u0438\u044f \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>dsa_paramgen_bits<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt dsa_paramgen_bits:numbits\u0437\u043d\u0430\u0447.: \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0431\u0438\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">2048<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0427\u0438\u0441\u043b\u043e \u0431\u0438\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 p. \u0415\u0441\u043b\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f 2048.\u26a0\ufe0f \u0423 DSA \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438 \u043a\u043b\u044e\u0447 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u0434\u0432\u0430 \u043f\u0440\u0438\u0451\u043c\u0430: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 <code>-genparam<\/code> \u0432 \u0444\u0430\u0439\u043b, \u043f\u043e\u0442\u043e\u043c <code>-paramfile<\/code> \u0434\u043b\u044f \u0441\u0430\u043c\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430. \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u043e\u043f\u0446\u0438\u044e \u0431\u0435\u0437 -genparam \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u043e. \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0434\u043b\u044f DSA \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u0438\u043c\u044f pbits \u2014 \u043e\u0431\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>dsa_paramgen_md \/ digest<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt dsa_paramgen_md:digest  \u0438\u043b\u0438  -pkeyopt digest:digest\u0437\u043d\u0430\u0447.: sha1, sha224, sha256<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0445\u0435\u0448 \u043f\u043e\u0434\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u0434\u043b\u0438\u043d\u0443 q (sha1\/sha224\/sha256)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0425\u0435\u0448, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0439 \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u0414\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c sha1, sha224 \u0438\u043b\u0438 sha256. \u0415\u0441\u043b\u0438 \u0437\u0430\u0434\u0430\u043d, \u0434\u043b\u0438\u043d\u0430 q \u043f\u043e\u0434\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u0440\u0430\u0437\u043c\u0435\u0440 \u0432\u044b\u0432\u043e\u0434\u0430 \u0445\u0435\u0448\u0430, \u0430 dsa_paramgen_q_bits \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f.\u26a0\ufe0f \u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0437\u0430\u043a\u0440\u044b\u0442 \u0442\u0440\u0435\u043c\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430\u043c\u0438 \u2014 SHA-384\/SHA-512 \u0437\u0434\u0435\u0441\u044c \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b, \u044d\u0442\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 FIPS 186-4. sha1 \u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0434\u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u043e \u0441\u0442\u0430\u0440\u044b\u043c\u0438 1024\/160-\u0431\u0438\u0442\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438; \u0434\u043b\u044f \u043d\u043e\u0432\u044b\u0445 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0439 \u0431\u0435\u0440\u0438\u0442\u0435 sha256.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>dsa_paramgen_q_bits \/ qbits<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt dsa_paramgen_q_bits:numbits  \u0438\u043b\u0438  -pkeyopt qbits:numbits\u0437\u043d\u0430\u0447.: 160, 224 \u0438\u043b\u0438 256<\/p>\n<\/td>\n<td>\n<p align=\"left\">224<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0427\u0438\u0441\u043b\u043e \u0431\u0438\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 q. \u0414\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043e\u0434\u043d\u0438\u043c \u0438\u0437 160, 224 \u0438\u043b\u0438 256. \u0415\u0441\u043b\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f 224.\u26a0\ufe0f \u0417\u0430\u0434\u0430\u043d\u0438\u0435 digest \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u044d\u0442\u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440: \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u043c dsa_paramgen_md \u0434\u043b\u0438\u043d\u0430 q \u043f\u043e\u0434\u0433\u043e\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u0440\u0430\u0437\u043c\u0435\u0440 \u0432\u044b\u0432\u043e\u0434\u0430 \u0445\u0435\u0448\u0430, \u0430 dsa_paramgen_q_bits \u0418\u0413\u041d\u041e\u0420\u0418\u0420\u0423\u0415\u0422\u0421\u042f \u2014 \u0431\u0435\u0437 \u0432\u0441\u044f\u043a\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f. \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0439\u0442\u0435 \u043b\u0438\u0431\u043e \u043e\u0434\u043d\u043e, \u043b\u0438\u0431\u043e \u0434\u0440\u0443\u0433\u043e\u0435, \u043d\u043e \u0441\u043b\u0435\u0434\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u043d\u0435 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u043b\u0438 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>e<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u201ce\u201d (OSSL_PKEY_PARAM_RSA_E)\u0437\u043d\u0430\u0447.: \u043b\u044e\u0431\u043e\u0435 \u043d\u0435\u0447\u0451\u0442\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 65537<\/p>\n<\/td>\n<td>\n<p align=\"left\">65537<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b RSA \u00abe\u00bb. \u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u044e\u0431\u044b\u043c \u043d\u0435\u0447\u0451\u0442\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c, \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u044b\u043c 65537. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 65537. CLI-\u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 \u2014 rsa_keygen_pubexp.\u26a0\ufe0f \u0412\u0430\u0436\u043d\u043e\u0435 \u0440\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0441 CLI: \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u00ab\u043d\u0435\u0447\u0451\u0442\u043d\u043e\u0435 \u0438 &gt;= 65537\u00bb, \u0442\u043e \u0435\u0441\u0442\u044c \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0435 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0432\u0440\u043e\u0434\u0435 3 \u0437\u0434\u0435\u0441\u044c \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u044b, \u0442\u043e\u0433\u0434\u0430 \u043a\u0430\u043a \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 openssl-genpkey(1) \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 rsa_keygen_pubexp:3. \u0412 FIPS-\u0440\u0435\u0436\u0438\u043c\u0435 \u043a\u043e\u0440\u043e\u0442\u043a\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0432\u0435\u0440\u0433\u043d\u0443\u0442\u0430 \u2014 \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u043e\u0442\u0445\u043e\u0434\u0438\u0442\u044c \u043e\u0442 65537.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>ec_param_enc<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt ec_param_enc:encoding\u0437\u043d\u0430\u0447.: named_curve, explicit<\/p>\n<\/td>\n<td>\n<p align=\"left\">named_curve<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u043f\u043e\u0441\u043e\u0431 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043a\u0440\u0438\u0432\u043e\u0439. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c named_curve \u0438\u043b\u0438 explicit. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u2014 named_curve.\u26a0\ufe0f \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043c\u044b\u0441\u043b \u0442\u0430\u043a\u043e\u0439: named_curve \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0432 \u043a\u043b\u044e\u0447 \u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0442\u043e\u043b\u044c\u043a\u043e OID \u043a\u0440\u0438\u0432\u043e\u0439, explicit \u2014 \u0432\u0441\u0435 \u0435\u0451 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u044b \u0446\u0435\u043b\u0438\u043a\u043e\u043c. Explicit-\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043b\u043e\u043c\u0430\u0435\u0442 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0448\u0430\u0433\u0443: RFC 5480 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 named_curve \u0434\u043b\u044f PKIX, TLS 1.3 (RFC 8446) \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b, Go crypto\/x509, \u043c\u043d\u043e\u0433\u0438\u0435 HSM \u0438 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u0435\u043a\u0438 \u0442\u0430\u043a\u043e\u0439 \u043a\u043b\u044e\u0447 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u043f\u0440\u0438\u043c\u0443\u0442, \u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0440\u0430\u0441\u043f\u0443\u0445\u0430\u0435\u0442 \u043d\u0430 \u0441\u043e\u0442\u043d\u0438 \u0431\u0430\u0439\u0442. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, explicit-\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u044b\u043b\u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0430\u0442\u0430\u043a \u0441 \u043f\u043e\u0434\u043c\u0435\u043d\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439 \u043d\u0430 \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0443\u044e. \u0423\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435 named_curve \u0432\u0435\u0440\u043d\u043e\u0435 \u2014 \u043c\u0435\u043d\u044f\u0442\u044c \u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u043d\u0430\u0447\u0435 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442; \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445 \u0435\u0433\u043e \u0447\u0430\u0441\u0442\u043e \u043f\u0438\u0448\u0443\u0442 \u044f\u0432\u043d\u043e \u043a\u0430\u043a \u0441\u0442\u0440\u0430\u0445\u043e\u0432\u043a\u0443 \u043e\u0442 \u0447\u0443\u0436\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>ec_paramgen_curve<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt ec_paramgen_curve:curve\u0437\u043d\u0430\u0447.: \u0438\u043c\u044f \u043a\u0440\u0438\u0432\u043e\u0439, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 P-256, P-384, secp384r1<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0434\u0430\u0451\u0442 \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043a\u0440\u0438\u0432\u0443\u044e. OpenSSL \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442 \u0438\u043c\u0435\u043d\u0430 NIST-\u043a\u0440\u0438\u0432\u044b\u0445 \u0432\u0440\u043e\u0434\u0435 \u201cP-256\u201d. \u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 \u0434\u0430\u0451\u0442 <code>openssl ecparam -list_curves<\/code>.\u26a0\ufe0f \u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440: \u0431\u0435\u0437 \u043d\u0435\u0433\u043e <code>-algorithm EC<\/code> \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f \u043e\u0448\u0438\u0431\u043a\u043e\u0439, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 RSA, \u0433\u0434\u0435 \u0435\u0441\u0442\u044c \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435 2048. \u041e\u0434\u043d\u0430 \u0438 \u0442\u0430 \u0436\u0435 \u043a\u0440\u0438\u0432\u0430\u044f \u0438\u043c\u0435\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u043c\u0451\u043d (P-256 = prime256v1 = secp256r1) \u2014 \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043e\u0431\u0430 \u0441\u0442\u0438\u043b\u044f, \u0438 \u043e\u0431\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f, \u043d\u043e \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0430\u0445 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043b\u0443\u0447\u0448\u0435 \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0435\u0434\u0438\u043d\u043e\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435. \u0414\u043b\u044f X25519\/ED25519 \u044d\u0442\u0430 \u043e\u043f\u0446\u0438\u044f \u043d\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u2014 \u0442\u0430\u043c \u043a\u0440\u0438\u0432\u0430\u044f \u0437\u0430\u043b\u043e\u0436\u0435\u043d\u0430 \u0432 \u0441\u0430\u043c\u043e \u0438\u043c\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>encoding<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u201cencoding\u201d (OSSL_PKEY_PARAM_EC_ENCODING) \u0437\u043d\u0430\u0447.: explicit, named_curve<\/p>\n<\/td>\n<td>\n<p align=\"left\">named_curve<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0434\u0430\u0451\u0442 \u0444\u043e\u0440\u043c\u0430\u0442 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 EC-\u0433\u0440\u0443\u043f\u043f\u044b. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u2014 \u201cexplicit\u201d \u0438\u043b\u0438 \u201cnamed_curve\u201d, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u201cnamed_curve\u201d. CLI-\u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 \u2014 ec_param_enc.\u26a0\ufe0f \u0423\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435 named_curve \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e \u043d\u0430 \u043e\u0431\u0435\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u2014 \u0438 \u0432 openssl-genpkey(1), \u0438 \u0432 EVP_PKEY-EC(7); \u044d\u0442\u043e \u043d\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0430 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435. \u041c\u0435\u043d\u044f\u0442\u044c \u0435\u0433\u043e \u043d\u0430 explicit \u0441\u0442\u043e\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>genpkey vs genrsa \/ ecparam<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">openssl genpkey -algorithm RSA -out key.pem   (\u0432\u043c\u0435\u0441\u0442\u043e openssl genrsa)openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-384 -pkeyopt ec_param_enc:named_curve -out eckey.pem   (\u0432\u043c\u0435\u0441\u0442\u043e openssl ecparam -genkey)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">genpkey \u2014 \u0435\u0434\u0438\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043b\u044e\u0447\u0435\u0439 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432. \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u0440\u044f\u043c\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442 \u0435\u0451 \u0432\u043c\u0435\u0441\u0442\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e-\u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u044b\u0445 \u0443\u0442\u0438\u043b\u0438\u0442, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0442\u0430\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0435 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430\u043c\u0438.\u26a0\ufe0f \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0432 \u0442\u0440\u0451\u0445 \u0432\u0435\u0449\u0430\u0445. \u041f\u0435\u0440\u0432\u043e\u0435 \u2014 \u043e\u0445\u0432\u0430\u0442: genrsa \u0443\u043c\u0435\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e RSA, ecparam \u0442\u043e\u043b\u044c\u043a\u043e EC, \u0430 genpkey \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0438 RSA-PSS, X25519\/Ed25519, \u0438 \u043f\u043e\u0441\u0442\u043a\u0432\u0430\u043d\u0442\u043e\u0432\u044b\u0435 ML-DSA\/ML-KEM (\u0441 OpenSSL 3.5), \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443 \u0441\u0442\u0430\u0440\u044b\u0445 \u0443\u0442\u0438\u043b\u0438\u0442 \u043d\u0435\u0442 \u0438 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442. \u0412\u0442\u043e\u0440\u043e\u0435 \u2014 \u0444\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430: genpkey \u043f\u0438\u0448\u0435\u0442 PKCS#8 (BEGIN PRIVATE KEY), \u0442\u043e\u0433\u0434\u0430 \u043a\u0430\u043a genrsa \u0438 ecparam -genkey \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u0430\u044e\u0442 PKCS#1\/SEC1 (BEGIN RSA PRIVATE KEY \/ BEGIN EC PRIVATE KEY) \u2014 \u0435\u0441\u043b\u0438 \u0432\u0430\u0448 \u043f\u0430\u0440\u0441\u0435\u0440 \u0438\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0436\u0434\u0451\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a, \u043f\u043e\u0434\u043c\u0435\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0441\u043b\u043e\u043c\u0430\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043a\u043b\u044e\u0447\u0430. \u0422\u0440\u0435\u0442\u044c\u0435 \u2014 ecparam -genkey \u0437\u0430 \u043e\u0434\u0438\u043d \u0432\u044b\u0437\u043e\u0432 \u0432\u044b\u0434\u0430\u0451\u0442 \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u0438 \u043a\u043b\u044e\u0447 \u0432 \u043e\u0434\u0438\u043d \u0444\u0430\u0439\u043b, \u0430 \u0441 genpkey EC-\u043a\u043b\u044e\u0447 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e, \u0431\u0435\u0437 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432: \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0442\u0430\u0440\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0441 \u0434\u0432\u0443\u0445\u0448\u0430\u0433\u043e\u0432\u043e\u0439 \u0441\u0445\u0435\u043c\u043e\u0439 ecparam + genkey \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>gindex (DH)<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt gindex:index\u0437\u043d\u0430\u0447.: 0\u2026255 (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u0431\u0430\u0439\u0442)<\/p>\n<\/td>\n<td>\n<p align=\"left\">-1<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u043d\u0434\u0435\u043a\u0441 \u0434\u043b\u044f \u043a\u0430\u043d\u043e\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0438 \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 g; \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 0\u2026255 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u0440\u0435\u0436\u0438\u043c. \u0422\u043e\u0442 \u0436\u0435 \u0438\u043d\u0434\u0435\u043a\u0441 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438 \u043a\u043b\u044e\u0447\u0430. \u0415\u0441\u043b\u0438 \u043d\u0435 \u0437\u0430\u0434\u0430\u043d, g \u043d\u0435 \u043f\u043e\u0434\u0434\u0430\u0451\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435; \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435 -1. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0438\u043f\u0430\u043c\u0438 \u201cfips186_4\u201d \u0438 \u201cfips186_2\u201d.\u26a0\ufe0f \u041a\u0430\u043a \u0438 \u0432 DSA, gindex \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 seed \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 -text \u0438 \u0432 PEM \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u2014 \u0431\u0435\u0437 \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c g \u0442\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0435 255 \u043e\u0431\u0440\u0435\u0437\u0430\u044e\u0442\u0441\u044f \u0434\u043e \u043c\u043b\u0430\u0434\u0448\u0435\u0433\u043e \u0431\u0430\u0439\u0442\u0430, \u0430 \u043d\u0435 \u043e\u0442\u0432\u0435\u0440\u0433\u0430\u044e\u0442\u0441\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>gindex (DSA)<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt gindex:index\u0437\u043d\u0430\u0447.: 0\u2026255 (\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0440\u0435\u0436\u0438\u043c; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u0431\u0430\u0439\u0442)<\/p>\n<\/td>\n<td>\n<p align=\"left\">-1<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u043d\u0434\u0435\u043a\u0441 \u0434\u043b\u044f \u043a\u0430\u043d\u043e\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0438 \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 g. \u041f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430 0\u2026255 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u0440\u0435\u0436\u0438\u043c; \u0442\u043e\u0442 \u0436\u0435 \u0438\u043d\u0434\u0435\u043a\u0441 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438 \u043a\u043b\u044e\u0447\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 g. \u0415\u0441\u043b\u0438 \u043d\u0435 \u0437\u0430\u0434\u0430\u043d, g \u043d\u0435 \u043f\u043e\u0434\u0434\u0430\u0451\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435; \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e -1.\u26a0\ufe0f \u0418\u043d\u0434\u0435\u043a\u0441 \u0438 seed \u0432\u044b\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u043f\u0440\u0438 -text, \u043d\u043e \u041d\u0415 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u043c PEM-\u0444\u0430\u0439\u043b\u0435 \u2014 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u0435\u0442 \u043e\u0431 \u044d\u0442\u043e\u043c \u043f\u0440\u044f\u043c\u043e. \u0415\u0441\u043b\u0438 \u043e\u043d\u0438 \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0439\u0442\u0435 \u0438\u0445 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438, \u0432\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0437 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u0445 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043e\u0442\u043a\u0443\u0434\u0430. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0435 255 \u043d\u0435 \u043e\u0442\u0432\u0435\u0440\u0433\u0430\u044e\u0442\u0441\u044f, \u0430 \u043e\u0431\u0440\u0435\u0437\u0430\u044e\u0442\u0441\u044f \u0434\u043e \u043c\u043b\u0430\u0434\u0448\u0435\u0433\u043e \u0431\u0430\u0439\u0442\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>group (DH keygen)<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt group:name\u0437\u043d\u0430\u0447.: \u0434\u043b\u044f DH: ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192, modp_1536, modp_2048, modp_3072, modp_4096, modp_6144, modp_8192; \u0434\u043b\u044f DHX: dh_1024_160, dh_2048_224, dh_2048_256<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u0443\u044e DH-\u0433\u0440\u0443\u043f\u043f\u0443 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043b\u044e\u0447\u0430. \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u044d\u0442\u043e\u0439 \u043e\u043f\u0446\u0438\u0438 \u0444\u0430\u0439\u043b \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 (-paramfile) \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f.\u26a0\ufe0f \u042d\u0442\u043e \u0441\u0430\u043c\u044b\u0439 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u0434\u043b\u044f DH: \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043c\u0438\u043d\u0443\u0442\u044b \u0438 \u043d\u0435 \u0434\u0430\u0451\u0442 \u0432\u044b\u0438\u0433\u0440\u044b\u0448\u0430 \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u0442\u043e\u0433\u0434\u0430 \u043a\u0430\u043a ffdhe-\u0433\u0440\u0443\u043f\u043f\u044b \u0438\u0437 RFC 7919 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u044b \u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b. \u041d\u0435 \u0431\u0435\u0440\u0438\u0442\u0435 modp_1536 \u0438 dh_1024_160 \u2014 1024\/1536-\u0431\u0438\u0442\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u0443\u044f\u0437\u0432\u0438\u043c\u044b \u043a \u043f\u0440\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0430\u0442\u0430\u043a\u0430\u043c \u043a\u043b\u0430\u0441\u0441\u0430 Logjam.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>group (EC)<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u201cgroup\u201d (OSSL_PKEY_PARAM_GROUP_NAME) \u0437\u043d\u0430\u0447.: \u0438\u043c\u044f \u043a\u0440\u0438\u0432\u043e\u0439<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u043c\u044f \u043a\u0440\u0438\u0432\u043e\u0439 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430. \u0412 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 genpkey \u0442\u043e\u043c\u0443 \u0436\u0435 \u0441\u043c\u044b\u0441\u043b\u0443 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 ec_paramgen_curve.\u26a0\ufe0f \u0422\u043e \u0436\u0435 \u0438\u043c\u044f group \u0432 genpkey \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0441\u043e\u0432\u0441\u0435\u043c \u0434\u0440\u0443\u0433\u043e\u0435 \u2014 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u0443\u044e DH-\u0433\u0440\u0443\u043f\u043f\u0443. \u041e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u043b\u043e\u044f\u0445 API \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0440\u0430\u0437\u043d\u044b\u043c \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044f\u043c; \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u0443\u0439\u0442\u0435\u0441\u044c \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0442\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>group \/ dh_param<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt group:name  \u0438\u043b\u0438  -pkeyopt dh_param:name\u0437\u043d\u0430\u0447.: DH: \u201cffdhe2048\u201d, \u201cffdhe3072\u201d, \u201cffdhe4096\u201d, \u201cffdhe6144\u201d, \u201cffdhe8192\u201d, \u201cmodp_1536\u201d, \u201cmodp_2048\u201d, \u201cmodp_3072\u201d, \u201cmodp_4096\u201d, \u201cmodp_6144\u201d, \u201cmodp_8192\u201d; DHX (\u0438\u043c\u0435\u043d\u0430 RFC5114): \u201cdh_1024_160\u201d, \u201cdh_2048_224\u201d, \u201cdh_2048_256\u201d<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u0443\u044e DH-\u0433\u0440\u0443\u043f\u043f\u0443 \u0441 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u0415\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u043d\u043e, \u0412\u0421\u0415 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f. \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c group \u0432\u043c\u0435\u0441\u0442\u043e \u043e\u043f\u0446\u0438\u0439 type \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432.\u26a0\ufe0f \u00abAll other options will be ignored\u00bb \u2014 \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e: pbits, qbits, generator \u0440\u044f\u0434\u043e\u043c \u0441 group \u043d\u0435 \u0432\u044b\u0434\u0430\u0434\u0443\u0442 \u043e\u0448\u0438\u0431\u043a\u0443, \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442. \u0418\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u043d\u0435 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u2014 \u0435\u0441\u043b\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0438 \u043e\u0434\u043d\u043e\u0439 \u043e\u043f\u0446\u0438\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, group \u043d\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u0441\u044f. \u041d\u0430\u0431\u043e\u0440\u044b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0434\u043b\u044f DH \u0438 DHX \u043d\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0442\u0441\u044f: ffdhe* \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f DH, dh_* \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f DHX.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>hexseed (DH)<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt hexseed:seed\u0437\u043d\u0430\u0447.: \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0441\u0435\u043c\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0414\u0430\u043d\u043d\u044b\u0435 \u0441\u0435\u043c\u0435\u043d\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u041f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0438\u043f\u0430\u043c\u0438 \u201cfips186_4\u201d \u0438 \u201cfips186_2\u201d.\u26a0\ufe0f \u041e\u0434\u043d\u043e \u0438 \u0442\u043e \u0436\u0435 \u0438\u043c\u044f hexseed \u043d\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0432\u0435\u0449\u0438 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430\u0445: \u0443 ML-DSA\/ML-KEM \u044d\u0442\u043e \u0441\u0435\u043c\u044f \u0421\u0410\u041c\u041e\u0413\u041e \u041a\u041b\u042e\u0427\u0410 (\u0443\u0442\u0435\u0447\u043a\u0430 = \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0430\u0446\u0438\u044f \u043a\u043b\u044e\u0447\u0430), \u0437\u0434\u0435\u0441\u044c \u2014 \u0441\u0435\u043c\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u041f\u0410\u0420\u0410\u041c\u0415\u0422\u0420\u041e\u0412 (\u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0439 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b). \u041d\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u043c\u0435\u0436\u0434\u0443 \u044d\u0442\u0438\u043c\u0438 \u0441\u043b\u0443\u0447\u0430\u044f\u043c\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>hexseed (DSA)<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt hexseed:seed\u0437\u043d\u0430\u0447.: \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0441\u0435\u043c\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0414\u0430\u043d\u043d\u044b\u0435 \u0441\u0435\u043c\u0435\u043d\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u0440\u044f\u043c\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0446\u0435\u043b\u044f\u0445 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.\u26a0\ufe0f \u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0435: \u043b\u0438\u0431\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043b\u0438\u0431\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0443\u043f\u0430\u0434\u0451\u0442, \u0435\u0441\u043b\u0438 \u0438\u0437 \u0441\u0435\u043c\u0435\u043d\u0438 \u043d\u0435 \u0432\u044b\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u0435 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0447\u0438\u0441\u043b\u0430. \u041f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u00ab\u043f\u043e\u0447\u0442\u0438 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e\u00bb \u043d\u0435\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0440\u0435\u0442\u0440\u0430\u0438 \u0441\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c seed \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u044b.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>hexseed (ML-DSA)<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt hexseed:seed\u0437\u043d\u0430\u0447.: 32 \u0431\u0430\u0439\u0442\u0430 = 64 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u044b\u0435 \u0446\u0438\u0444\u0440\u044b<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0434\u0430\u0451\u0442 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0441\u0435\u043c\u044f ML-DSA \u0432 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u043e\u043c \u0432\u0438\u0434\u0435. \u041a\u043b\u044e\u0447, \u043f\u043e\u0440\u043e\u0436\u0434\u0451\u043d\u043d\u044b\u0439 \u0438\u0437 \u044f\u0432\u043d\u043e\u0433\u043e \u0441\u0435\u043c\u0435\u043d\u0438, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f.\u26a0\ufe0f \u041f\u043e\u043b\u043d\u0430\u044f \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u044c \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0441\u0435\u043c\u044f \u2014 \u044d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447: \u043a\u0442\u043e \u0443\u0432\u0438\u0434\u0438\u0442 \u0435\u0433\u043e \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 (\u0430 \u0435\u0451 \u0432\u0438\u0434\u043d\u043e \u0432 ps \u0438 \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0438), \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u043a\u043b\u044e\u0447 \u0446\u0435\u043b\u0438\u043a\u043e\u043c. \u0412 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043e\u0431 \u044d\u0442\u043e\u043c \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u043f\u0440\u044f\u043c\u043e. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u044b\u0445 \u043f\u0440\u043e\u0433\u043e\u043d\u043e\u0432, \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u0434\u043b\u044f \u0431\u043e\u0435\u0432\u044b\u0445 \u043a\u043b\u044e\u0447\u0435\u0439.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>hexseed (ML-KEM)<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt hexseed:seed\u0437\u043d\u0430\u0447.: 64 \u0431\u0430\u0439\u0442\u0430 = 128 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u044b\u0445 \u0446\u0438\u0444\u0440<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0434\u0430\u0451\u0442 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0441\u0435\u043c\u044f ML-KEM \u0432 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u043e\u043c \u0432\u0438\u0434\u0435. \u041a\u043b\u044e\u0447, \u043f\u043e\u0440\u043e\u0436\u0434\u0451\u043d\u043d\u044b\u0439 \u0438\u0437 \u044f\u0432\u043d\u043e\u0433\u043e \u0441\u0435\u043c\u0435\u043d\u0438, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f.\u26a0\ufe0f \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0440\u0430\u0437\u043d\u0443\u044e \u0434\u043b\u0438\u043d\u0443: \u0443 ML-DSA \u0441\u0435\u043c\u044f 32 \u0431\u0430\u0439\u0442\u0430 (64 hex-\u0441\u0438\u043c\u0432\u043e\u043b\u0430), \u0443 ML-KEM \u2014 64 \u0431\u0430\u0439\u0442\u0430 (128 hex-\u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432). \u041f\u0435\u0440\u0435\u043f\u0443\u0442\u0430\u043d\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u0434\u0430\u0441\u0442 \u043e\u0448\u0438\u0431\u043a\u0443, \u0430 \u043d\u0435 \u043c\u043e\u043b\u0447\u0430\u043b\u0438\u0432\u043e\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043d\u0443\u043b\u044f\u043c\u0438. \u0422\u0435 \u0436\u0435 \u0440\u0438\u0441\u043a\u0438 \u0440\u0430\u0441\u043a\u0440\u044b\u0442\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443, \u0447\u0442\u043e \u0438 \u0443 ML-DSA.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>include-public<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u201cinclude-public\u201d (OSSL_PKEY_PARAM_EC_INCLUDE_PUBLIC) \u0437\u043d\u0430\u0447.: 0 \u0438\u043b\u0438 1<\/p>\n<\/td>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 0 \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 \u043f\u0440\u0438 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u0433\u043e. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 1 \u2014 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f.\u26a0\ufe0f \u041a\u043b\u044e\u0447 \u0431\u0435\u0437 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0444\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u0430\u043b\u0438\u0434\u0435\u043d \u043f\u043e RFC 5915, \u043d\u043e \u0447\u0430\u0441\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u0438\u0437 \u043d\u0435\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0441\u0447\u0451\u0442\u0430. \u041d\u0435 \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0439\u0442\u0435, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>pbits \/ dh_paramgen_prime_len<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt pbits:numbits  \u0438\u043b\u0438  -pkeyopt dh_paramgen_prime_len:numbits\u0437\u043d\u0430\u0447.: \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0431\u0438\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">2048<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0427\u0438\u0441\u043b\u043e \u0431\u0438\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 p. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 2048.\u26a0\ufe0f \u0414\u0432\u0430 \u0438\u043c\u0435\u043d\u0438 \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0439 \u043e\u043f\u0446\u0438\u0438 \u2014 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0435 pbits (\u043d\u043e\u0432\u043e\u0435) \u0438 dh_paramgen_prime_len (\u0441\u0442\u0430\u0440\u043e\u0435), \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u043e\u0431\u0430. \u0421\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f 2048-\u0431\u0438\u0442\u043d\u043e\u0433\u043e p \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043c\u0438\u043d\u0443\u0442\u044b \u0438 \u043d\u0435 \u0434\u0430\u0451\u0442 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u043f\u0435\u0440\u0435\u0434 ffdhe2048: \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 group.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>point-format<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u201cpoint-format\u201d (OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT) \u0437\u043d\u0430\u0447.: uncompressed, compressed<\/p>\n<\/td>\n<td>\n<p align=\"left\">uncompressed<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0438\u043b\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 point_conversion_form \u0434\u043b\u044f \u043a\u043b\u044e\u0447\u0430. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u2014 \u201cuncompressed\u201d \u0438\u043b\u0438 \u201ccompressed\u201d, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u201cuncompressed\u201d.\u26a0\ufe0f \u0421\u0436\u0430\u0442\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442 \u043e\u043a\u043e\u043b\u043e \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u044b \u0431\u0430\u0439\u0442 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u0442\u043e\u0447\u043a\u0438, \u043d\u043e \u043d\u0435 \u0432\u0441\u0435 \u0441\u0442\u0430\u0440\u044b\u0435 \u0441\u0442\u0435\u043a\u0438 \u0438 HSM \u0435\u0451 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442. \u0412 openssl-genpkey(1) \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 -pkeyopt-\u043e\u043f\u0446\u0438\u0438 \u043d\u0435\u0442 \u2014 \u0437\u0430\u0434\u0430\u0442\u044c \u0444\u043e\u0440\u043c\u0430\u0442 \u0442\u043e\u0447\u043a\u0438 \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0438\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043d\u0435\u043b\u044c\u0437\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>primes<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u201cprimes\u201d (OSSL_PKEY_PARAM_RSA_PRIMES)\u0437\u043d\u0430\u0447.: unsigned integer (\u0434\u043e 10; \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u044b \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e 2)<\/p>\n<\/td>\n<td>\n<p align=\"left\">2<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0435\u0439 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e RSA-\u043a\u043b\u044e\u0447\u0430, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 2. CLI-\u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 \u0432 genpkey \u2014 rsa_keygen_primes.\u26a0\ufe0f \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u0440\u044f\u043c\u043e \u043e\u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0440\u0438 \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043d\u043e\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c\u0435 \u0432 10 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0435\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e 2 \u2014 \u0437\u0430\u043f\u0440\u043e\u0441 \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0443\u043f\u0440\u0451\u0442\u0441\u044f \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e, \u0430 \u043d\u0435 \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>properties (DH)<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt properties:query\u0437\u043d\u0430\u0447.: \u0441\u0442\u0440\u043e\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0442\u0440\u043e\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0442 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0435\u0439 \u0442\u0438\u043f\u043e\u0432 \u201cfips186_4\u201d \u0438 \u201cfips186_2\u201d.\u26a0\ufe0f \u0412\u043d\u0435 \u0442\u0438\u043f\u043e\u0432 fips186_* \u043e\u043f\u0446\u0438\u044f \u043d\u0435 \u0434\u0430\u0451\u0442 \u044d\u0444\u0444\u0435\u043a\u0442\u0430 \u0438 \u043e\u0431 \u044d\u0442\u043e\u043c \u043d\u0435 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442. \u0415\u0441\u043b\u0438 \u0432\u044b \u0437\u0430\u0434\u0430\u043b\u0438 \u0435\u0451 \u043f\u0440\u0438 type:generator \u0438 \u0436\u0434\u0430\u043b\u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043d\u0430 FIPS-\u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0445\u0435\u0448\u0430 \u2014 \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>properties (DSA)<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt properties:query\u0437\u043d\u0430\u0447.: \u0441\u0442\u0440\u043e\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0442\u0440\u043e\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0430\u044f \u043f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0442 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430.\u26a0\ufe0f \u041d\u0435 \u043f\u0443\u0442\u0430\u0439\u0442\u0435 \u0441 \u043e\u0431\u0449\u0435\u0439 \u043e\u043f\u0446\u0438\u0435\u0439 -propquery: \u044d\u0442\u0430 \u0441\u0442\u0440\u043e\u043a\u0430 \u0432\u043b\u0438\u044f\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0432\u044b\u0431\u043e\u0440 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0445\u0435\u0448\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 DSA, \u0430 \u043d\u0435 \u043d\u0430 \u0432\u044b\u0431\u043e\u0440 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0430\u043c\u043e\u0433\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 DSA.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>qbits \/ dh_paramgen_subprime_len<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt qbits:numbits  \u0438\u043b\u0438  -pkeyopt dh_paramgen_subprime_len:numbits\u0437\u043d\u0430\u0447.: \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0431\u0438\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">224<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0427\u0438\u0441\u043b\u043e \u0431\u0438\u0442 \u043f\u043e\u0434\u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 q. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 224. \u0418\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 \u043e\u043f\u0446\u0438\u0435\u0439 dh_paramgen_type \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 DHX.\u26a0\ufe0f \u0414\u043b\u044f \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e DH \u044d\u0442\u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432\u043e\u0432\u0441\u0435 \u2014 \u043e\u043d \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a X9.42\/DHX. \u0418, \u043a\u0430\u043a \u0438 \u0443 DSA, \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 digest \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 qbits: \u0434\u043b\u0438\u043d\u0430 q \u043f\u043e\u0434\u0433\u043e\u043d\u0438\u0442\u0441\u044f \u043f\u043e\u0434 \u0432\u044b\u0432\u043e\u0434 \u0445\u0435\u0448\u0430, \u0430 qbits \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>rsa-a<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u201crsa-a\u201d (OSSL_PKEY_PARAM_RSA_A)\u0437\u043d\u0430\u0447.: 1, 3, 5 \u0438\u043b\u0438 7<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 1, 3, 5 \u0438\u043b\u0438 7 \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435: \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0435 p \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0441\u0440\u0430\u0432\u043d\u0438\u043c\u043e \u0441 \u044d\u0442\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e 8.\u26a0\ufe0f \u0423\u0437\u043a\u043e\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0434\u043b\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u043e\u0444\u0438\u043b\u044f\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438, \u0430 \u043d\u0435 \u0434\u043b\u044f \u043e\u0431\u0449\u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u0443\u0436\u0430\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u0438 \u0443\u0434\u043b\u0438\u043d\u044f\u0435\u0442 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>rsa-b<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u201crsa-b\u201d (OSSL_PKEY_PARAM_RSA_B)\u0437\u043d\u0430\u0447.: 1, 3, 5 \u0438\u043b\u0438 7<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 1, 3, 5 \u0438\u043b\u0438 7 \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435: \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0435 q \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0441\u0440\u0430\u0432\u043d\u0438\u043c\u043e \u0441 \u044d\u0442\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e 8.\u26a0\ufe0f \u041f\u0430\u0440\u043d\u044b\u0439 \u043a rsa-a \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0434\u043b\u044f q. \u0417\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0438\u0445 \u0432\u0441\u043b\u0435\u043f\u0443\u044e \u043d\u0435 \u0441\u0442\u043e\u0438\u0442: \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u0430\u044f \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0437\u0430\u043c\u0435\u0434\u043b\u0438\u0442 \u043f\u043e\u0434\u0431\u043e\u0440 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0447\u0438\u0441\u0435\u043b.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>rsa-derive-from-pq<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u201crsa-derive-from-pq\u201d (OSSL_PKEY_PARAM_RSA_DERIVE_FROM_PQ)\u0437\u043d\u0430\u0447.: \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u0438 \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u043e\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043a\u043b\u044e\u0447\u0430 \u0432\u044b\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0431\u044b\u043b\u0438 \u0437\u0430\u0434\u0430\u043d\u044b. \u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043c\u043e\u0434\u0443\u043b\u044c \u0438 \u043f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0430 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u044f.\u26a0\ufe0f \u041e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0438\u043c\u043f\u043e\u0440\u0442\u0443\/\u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044e \u043a\u043b\u044e\u0447\u0430, \u0430 \u043d\u0435 \u043a \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438: \u0443\u0434\u043e\u0431\u043d\u043e \u0434\u043b\u044f \u00ab\u0443\u0440\u0435\u0437\u0430\u043d\u043d\u044b\u0445\u00bb \u043a\u043b\u044e\u0447\u0435\u0439 \u0438\u0437 HSM \u0438\u043b\u0438 \u0447\u0443\u0436\u0438\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432, \u043d\u043e \u043f\u0440\u0438 \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0435 p \u0438 q \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>rsa_keygen_bits<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt rsa_keygen_bits:numbits\u0437\u043d\u0430\u0447.: \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0431\u0438\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">2048<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0427\u0438\u0441\u043b\u043e \u0431\u0438\u0442 \u0432 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u043c \u043a\u043b\u044e\u0447\u0435 RSA. \u0415\u0441\u043b\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f 2048.\u26a0\ufe0f \u041f\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e \u043d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f 2048 \u0431\u0438\u0442 \u2014 \u044d\u0442\u043e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c, \u0430 \u043d\u0435 \u00ab\u0445\u043e\u0440\u043e\u0448\u0438\u0439\u00bb: NIST SP 800-57 \u043e\u0442\u0432\u043e\u0434\u0438\u0442 \u0435\u043c\u0443 \u0441\u0442\u043e\u0439\u043a\u043e\u0441\u0442\u044c \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u044f, \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 CA \u0438 CA\/Browser Forum \u043a\u043b\u044e\u0447\u0438 \u043a\u043e\u0440\u043e\u0447\u0435 2048 \u0431\u0438\u0442 \u0443\u0436\u0435 \u043d\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442. \u0414\u043b\u044f \u0434\u043e\u043b\u0433\u043e\u0436\u0438\u0432\u0443\u0449\u0438\u0445 \u043a\u043e\u0440\u043d\u0435\u0432\u044b\u0445 \u0438 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0445 CA \u0431\u0435\u0440\u0438\u0442\u0435 3072 \u0438\u043b\u0438 4096; 4096 \u0434\u0430\u0451\u0442 \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0443\u044e \u043f\u043e\u0434\u043f\u0438\u0441\u044c \u0438 \u0432\u0447\u0435\u0442\u0432\u0435\u0440\u043e \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0443\u044e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u043b\u0438\u0441\u0442\u043e\u0432\u044b\u0445 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u0438 mTLS \u0447\u0430\u0449\u0435 \u0440\u0430\u0437\u0443\u043c\u043d\u0435\u0435 ECDSA P-256, \u0447\u0435\u043c RSA-4096. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u043d\u044c\u0448\u0435 512 \u0431\u0438\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442\u043a\u043b\u043e\u043d\u044f\u044e\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>rsa_keygen_primes<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt rsa_keygen_primes:numprimes\u0437\u043d\u0430\u0447.: \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0435\u0439<\/p>\n<\/td>\n<td>\n<p align=\"left\">2<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0435\u0439 \u0432 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u043c \u043a\u043b\u044e\u0447\u0435 (multi-prime RSA). \u0415\u0441\u043b\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f 2.\u26a0\ufe0f Multi-prime \u0443\u0441\u043a\u043e\u0440\u044f\u0435\u0442 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 CRT, \u043d\u043e \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u0441\u0442\u043e\u0439\u043a\u043e\u0441\u0442\u044c \u043f\u0440\u0438 \u0442\u043e\u043c \u0436\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0435 \u043c\u043e\u0434\u0443\u043b\u044f \u0438 \u043f\u043e\u0447\u0442\u0438 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0447\u0443\u0436\u0438\u043c\u0438 \u0441\u0442\u0435\u043a\u0430\u043c\u0438: TLS-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, HSM \u0438 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0435 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u0435\u043b\u0438 \u0447\u0430\u0441\u0442\u043e \u043e\u0442\u0432\u0435\u0440\u0433\u0430\u044e\u0442 \u0442\u0430\u043a\u043e\u0439 \u043a\u043b\u044e\u0447. \u041d\u0435 \u0442\u0440\u043e\u0433\u0430\u0439\u0442\u0435 \u044d\u0442\u0443 \u043e\u043f\u0446\u0438\u044e, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043d\u0435\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f RFC 8017 multi-prime.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>rsa_keygen_pubexp<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt rsa_keygen_pubexp:value\u0437\u043d\u0430\u0447.: \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435 \u0438\u043b\u0438 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e (hex \u2014 \u0441 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u043c 0x)<\/p>\n<\/td>\n<td>\n<p align=\"left\">65537<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u044b RSA. \u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u0438\u043b\u0438 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u044b\u043c \u043f\u0440\u0438 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0435 0x. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u2014 65537.\u26a0\ufe0f \u0412 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0435\u0441\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440 \u0441 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0439 3 \u2014 \u043d\u0435 \u043a\u043e\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u0435\u0433\u043e \u0432 \u043f\u0440\u043e\u0434: e=3 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u0430 \u0441 \u0430\u0442\u0430\u043a\u0430\u043c\u0438 \u0411\u043b\u0435\u0439\u0445\u0435\u043d\u0431\u0430\u0445\u0435\u0440\u0430 \u043d\u0430 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 PKCS#1 v1.5 \u0438 \u043e\u0442\u0432\u0435\u0440\u0433\u0430\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u0438\u043c\u0438 \u0432\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440\u0430\u043c\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432. \u041e\u0441\u0442\u0430\u0432\u043b\u044f\u0439\u0442\u0435 65537 (0x10001): \u044d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u043f\u0440\u0438\u043c\u0443\u0442 \u0432\u0441\u0435 \u0441\u0442\u0435\u043a\u0438 \u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f CA\/Browser Forum.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>rsa_pss_keygen_md<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt rsa_pss_keygen_md:digest\u0437\u043d\u0430\u0447.: \u0438\u043c\u044f \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0431\u0435\u0437 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0415\u0441\u043b\u0438 \u0437\u0430\u0434\u0430\u043d\u043e, \u043a\u043b\u044e\u0447 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u043c (restricted) \u0438 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0445\u0435\u0448\u0435\u043c.\u26a0\ufe0f \u00ab\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u0439\u00bb \u043a\u043b\u044e\u0447 \u2014 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e, \u0437\u0430\u0448\u0438\u0442\u043e\u0435 \u0432 \u0441\u0430\u043c \u043a\u043b\u044e\u0447 \u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442: \u043f\u043e\u0442\u043e\u043c \u0441\u043c\u0435\u043d\u0438\u0442\u044c \u0445\u0435\u0448 \u043d\u0435\u043b\u044c\u0437\u044f, \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0442\u044c. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0443 RSA-PSS-\u043a\u043b\u044e\u0447\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u043d\u0435\u0442, \u0438 \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u044d\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0431\u043e\u0440 \u2014 \u0436\u0451\u0441\u0442\u043a\u0430\u044f \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u044f \u043d\u0443\u0436\u043d\u0430 \u043b\u0438\u0448\u044c \u0442\u0430\u043c, \u0433\u0434\u0435 \u0435\u0451 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043f\u0440\u043e\u0444\u0438\u043b\u044c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u043b\u0438 FIPS-\u043f\u0440\u043e\u0444\u0438\u043b\u0438).<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>rsa_pss_keygen_mgf1_md<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt rsa_pss_keygen_mgf1_md:digest\u0437\u043d\u0430\u0447.: \u0438\u043c\u044f \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0431\u0435\u0437 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0415\u0441\u043b\u0438 \u0437\u0430\u0434\u0430\u043d\u043e, \u043a\u043b\u044e\u0447 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u043c \u0438 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0445\u0435\u0448 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 MGF1.\u26a0\ufe0f \u0417\u0430\u0434\u0430\u0432\u0430\u0442\u044c MGF1-\u0445\u0435\u0448 \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u043c \u043e\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0445\u0435\u0448\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438 \u043c\u043e\u0436\u043d\u043e, \u043d\u043e \u043c\u043d\u043e\u0433\u0438\u0435 \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u0442\u0430\u043a\u0443\u044e \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044e \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442. \u0415\u0441\u043b\u0438 \u0443\u0436 \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442\u0435 \u2014 \u0434\u0435\u0440\u0436\u0438\u0442\u0435 rsa_pss_keygen_md \u0438 rsa_pss_keygen_mgf1_md \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>rsa_pss_keygen_saltlen<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt rsa_pss_keygen_saltlen:len\u0437\u043d\u0430\u0447.: \u0434\u043b\u0438\u043d\u0430 \u0441\u043e\u043b\u0438 \u0432 \u0431\u0430\u0439\u0442\u0430\u0445<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0431\u0435\u0437 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0415\u0441\u043b\u0438 \u0437\u0430\u0434\u0430\u043d\u043e, \u043a\u043b\u044e\u0447 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u043c, \u0430 len \u0437\u0430\u0434\u0430\u0451\u0442 \u041c\u0418\u041d\u0418\u041c\u0410\u041b\u042c\u041d\u0423\u042e \u0434\u043b\u0438\u043d\u0443 \u0441\u043e\u043b\u0438.\u26a0\ufe0f \u042d\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c, \u0430 \u043d\u0435 \u0442\u043e\u0447\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u2014 \u043d\u0435 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0439\u0442\u0435 \u043d\u0430 \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u043e\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439. \u0421\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0437\u0430\u0434\u0430\u043d\u043d\u0430\u044f \u0441\u043e\u043b\u044c \u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u044c \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0439 \u0434\u043b\u044f \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439: \u0434\u043b\u0438\u043d\u0430 \u0441\u043e\u043b\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0430 \u0441\u0432\u0435\u0440\u0445\u0443 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043c\u043e\u0434\u0443\u043b\u044f \u043c\u0438\u043d\u0443\u0441 \u0440\u0430\u0437\u043c\u0435\u0440 \u0445\u0435\u0448\u0430 \u043c\u0438\u043d\u0443\u0441 2 \u0431\u0430\u0439\u0442\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>safeprime-generator \/ dh_paramgen_generator<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt safeprime-generator:value  \u0438\u043b\u0438  -pkeyopt dh_paramgen_generator:value\u0437\u043d\u0430\u0447.: \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e (\u043e\u0431\u044b\u0447\u043d\u043e 2 \u0438\u043b\u0438 5)<\/p>\n<\/td>\n<td>\n<p align=\"left\">2<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 g. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 2. \u041e\u043f\u0446\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0433\u0434\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u2014 \u201cDH\u201d.\u26a0\ufe0f \u041e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e \u0441 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c: \u0441\u0430\u043c\u0430 \u043e\u043f\u0446\u0438\u044f \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0434\u0435\u0444\u0438\u0441 (safeprime-generator), \u0430 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0435 \u0441 \u043d\u0435\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 type \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043d\u0435\u0451 \u043a\u0430\u043a safeprime_generator \u2014 \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u0434\u0447\u0451\u0440\u043a\u0438\u0432\u0430\u043d\u0438\u0435. \u0421 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c DHX \u043e\u043f\u0446\u0438\u044f \u043c\u043e\u043b\u0447\u0430 \u043d\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u0441\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>type (DH)<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt type:string\u0437\u043d\u0430\u0447.: generator, fips186_4, fips186_2, group, default<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u201cdefault\u201d (\u0434\u043b\u044f DH \u2014 \u201cgenerator\u201d, \u0434\u043b\u044f DHX \u2014 \u201cfips186_2\u201d)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u043c\u044f \u0442\u0438\u043f\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 DH-\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. generator \u2014 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0441 \u043e\u043f\u0446\u0438\u0435\u0439 safeprime_generator (\u0442\u043e\u043b\u044c\u043a\u043e DH); fips186_4 \u0438 fips186_2 \u2014 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043f\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u043c (\u0442\u043e\u043b\u044c\u043a\u043e DHX); group \u2014 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 pbits \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u043e\u0434\u043d\u0443 \u0438\u0437 ffdhe-\u0433\u0440\u0443\u043f\u043f (\u0442\u043e\u043b\u044c\u043a\u043e DH); default \u2014 \u0442\u0438\u043f \u043f\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443.\u26a0\ufe0f \u041a\u0430\u0436\u0434\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0436\u0451\u0441\u0442\u043a\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c: fips186_* \u0442\u0440\u0435\u0431\u0443\u044e\u0442 DHX, generator \u0438 group \u0442\u0440\u0435\u0431\u0443\u044e\u0442 DH \u2014 \u043d\u0435\u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u0434\u0430\u0441\u0442 \u043e\u0448\u0438\u0431\u043a\u0443. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u201cdefault\u201d \u0434\u043b\u044f DHX \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 fips186_2, \u0442\u043e \u0435\u0441\u0442\u044c \u0423\u0421\u0422\u0410\u0420\u0415\u0412\u0428\u0418\u0419 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442, \u0440\u0430\u0434\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 default-\u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430: \u0434\u043b\u044f \u043d\u043e\u0432\u044b\u0445 DHX-\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0437\u0430\u0434\u0430\u0432\u0430\u0439\u0442\u0435 fips186_4 \u044f\u0432\u043d\u043e.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>type (DSA)<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt type:type\u0437\u043d\u0430\u0447.: 0 \u2014 FIPS186-4, 1 \u2014 legacy FIPS186-2<\/p>\n<\/td>\n<td>\n<p align=\"left\">0 (FIPS186-4)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0422\u0438\u043f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. 1 \u2014 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0430\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043f\u043e FIPS186-2, \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435 0 \u2014 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043f\u043e FIPS186-4.\u26a0\ufe0f \u0418\u043c\u044f \u043e\u043f\u0446\u0438\u0438 <code>type<\/code> \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 DH-\u043e\u043f\u0446\u0438\u0435\u0439 type, \u043d\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0427\u0418\u0421\u041b\u041e, \u0430 \u0443 DH \u044d\u0442\u043e \u0421\u0422\u0420\u041e\u041a\u0410 (\u00abgenerator\u00bb, \u00abfips186_4\u00bb). \u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043a\u0443\u0441\u043a\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0441 DH \u043d\u0430 DSA \u0434\u0430\u0441\u0442 \u043e\u0448\u0438\u0431\u043a\u0443. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 1 \u043d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u0440\u044b\u0445 \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u043e\u0432.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>use-cofactor-flag<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u201cuse-cofactor-flag\u201d (OSSL_PKEY_PARAM_USE_COFACTOR_ECDH) \u0437\u043d\u0430\u0447.: 0 \u0438\u043b\u0438 1<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438 1 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 Cofactor Diffie-Hellman (ECC CDH), \u043f\u0440\u0438 0 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u0439 EC DH.\u26a0\ufe0f \u0414\u043b\u044f \u043a\u0440\u0438\u0432\u044b\u0445 \u0441 \u043a\u043e\u0444\u0430\u043a\u0442\u043e\u0440\u043e\u043c 1 (\u0432\u0441\u0435 NIST prime-\u043a\u0440\u0438\u0432\u044b\u0435, \u0432\u043a\u043b\u044e\u0447\u0430\u044f P-256\/P-384) \u0444\u043b\u0430\u0433 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442. \u041e\u043d \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u0435\u043d \u0434\u043b\u044f \u043a\u0440\u0438\u0432\u044b\u0445 \u0441 \u043a\u043e\u0444\u0430\u043a\u0442\u043e\u0440\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0435\u0434\u0438\u043d\u0438\u0446\u044b \u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u044f\u0434\u043e\u043c \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u0439 SP 800-56A.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<blockquote>\n<p><strong>\u0412\u0435\u0440\u0441\u0438\u0438 \u0438 \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0435 \u043a\u0430\u043c\u043d\u0438:<\/strong><\/p>\n<ul>\n<li>\n<p><code>genpkey<\/code> \u2014 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0437\u0430\u043c\u0435\u043d\u0430 <code>genrsa<\/code> \u0438 \u0441\u0432\u044f\u0437\u043a\u0438 <code>ecparam<\/code> + <code>genpkey<\/code>: \u043e\u0434\u0438\u043d \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043d\u0430 \u0432\u0441\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0437\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 <code>-pkeyopt<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043b\u044f \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0443\u0436\u0435\u043d <code>ec_param_enc:named_curve<\/code>: \u043f\u0440\u0438 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u044f\u0432\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u043c\u043d\u043e\u0433\u0438\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u044b \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u043d\u0435 \u043f\u0440\u0438\u043c\u0443\u0442.<\/p>\n<\/li>\n<li>\n<p>\u041a\u043b\u044e\u0447 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 PKCS#8. \u0411\u0435\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0448\u0438\u0444\u0440\u0430 \u043e\u043d \u043d\u0435 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d \u2014 \u044d\u0442\u043e \u043e\u0441\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u0439 \u0432\u044b\u0431\u043e\u0440 \u0434\u043b\u044f \u0441\u043b\u0443\u0436\u0431, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u0442\u044c \u0431\u0435\u0437 \u0432\u0432\u043e\u0434\u0430 \u043f\u0430\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0444\u0440\u0430\u0437\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0432\u0435\u0440\u0435\u043d\u043e \u0441: <a href=\"https:\/\/docs.openssl.org\/master\/man1\/openssl-genpkey\/\" rel=\"noopener nofollow\">https:\/\/docs.openssl.org\/master\/man1\/openssl-genpkey\/<\/a>, <a href=\"https:\/\/docs.openssl.org\/master\/man7\/EVP_PKEY-RSA\/\" rel=\"noopener nofollow\">https:\/\/docs.openssl.org\/master\/man7\/EVP_PKEY-RSA\/<\/a>, <a href=\"https:\/\/docs.openssl.org\/master\/man7\/EVP_PKEY-EC\/\" rel=\"noopener nofollow\">https:\/\/docs.openssl.org\/master\/man7\/EVP_PKEY-EC\/<\/a><\/p>\n<\/li>\n<\/ul>\n<\/blockquote>\n<\/div>\n<\/details>\n<h4>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a: openssl req<\/h4>\n<details class=\"spoiler\">\n<summary>\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u2014 55 \u043e\u043f\u0446\u0438\u0439 (openssl req)<\/summary>\n<div class=\"spoiler__content\">\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \/ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041f\u043e \u0443\u043c\u043e\u043b\u0447.<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438 \u043d\u044e\u0430\u043d\u0441\u044b<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-CA<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-CA filename|uri<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0434\u0430\u0451\u0442 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u00abCA\u00bb \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0438 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 -x509. \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u0430\u043a \u00abmicro CA\u00bb: subject \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f issuer \u043d\u043e\u0432\u043e\u0433\u043e.\u26a0\ufe0f \u041d\u0430\u043b\u0438\u0447\u0438\u0435 -CA \u043c\u0435\u043d\u044f\u0435\u0442 \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435 -in (\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0432\u0432\u043e\u0434 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442\u0441\u044f) \u0438 \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u0435\u0442 -key \u043f\u0440\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-CAkey<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-CAkey filename|uri<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043a\u043b\u044e\u0447 \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0438\u0437 \u0432\u0445\u043e\u0434\u0430 -CA, \u0435\u0441\u043b\u0438 \u043e\u043f\u0446\u0438\u044f \u043d\u0435 \u0437\u0430\u0434\u0430\u043d\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0434\u0430\u0451\u0442 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u00abCA\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442.\u26a0\ufe0f \u041a\u043b\u044e\u0447 \u043e\u0431\u044f\u0437\u0430\u043d \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c\u0443 \u043a\u043b\u044e\u0447\u0443 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0438\u0437 -CA; \u0435\u0441\u043b\u0438 \u043e\u043f\u0446\u0438\u044f \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0430, \u043a\u043b\u044e\u0447 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432\u043e \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 -CA.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-addext<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-addext ext\u0437\u043d\u0430\u0447.: \u043f\u0430\u0440\u0430 key=value \u0432 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0432 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 (\u043f\u0440\u0438 -x509) \u0438\u043b\u0438 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441. \u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u043c\u0435\u0442\u044c \u0432\u0438\u0434 key=value, \u043a\u0430\u043a \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435.\u26a0\ufe0f \u041a\u0430\u0436\u0434\u043e\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0442\u044c\u0441\u044f \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0435 \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0430, \u0438 \u0447\u0435\u0440\u0435\u0437 -addext \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0430, \u0445\u043e\u0442\u044f \u0441\u0430\u043c\u0443 \u043e\u043f\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u043e\u0434\u043d\u043e\u0438\u043c\u0451\u043d\u043d\u044b\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0438\u0437 \u043a\u043e\u043d\u0444\u0438\u0433\u0430. \u0427\u0442\u043e\u0431\u044b \u0443\u0431\u0440\u0430\u0442\u044c \u043d\u0435\u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f -addext subjectKeyIdentifier=none \u0438 -addext authorityKeyIdentifier=none \u2014 \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u0431\u044b\u043b\u043e.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-batch<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-batch<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0435\u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c.\u26a0\ufe0f \u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043e\u043f\u0446\u0438\u044e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0444\u0440\u0430\u0437\u043e\u0439 \u00abNon-interactive mode\u00bb. \u041e\u0442\u043a\u0430\u0437 \u043e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u043e\u043b\u0435\u0439 DN \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u2014 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c prompt = no \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a \u0442\u043e\u043c\u0443 \u0436\u0435 \u043c\u0435\u043d\u044f\u0435\u0442 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0441\u0435\u043a\u0446\u0438\u0439 distinguished_name \u0438 attributes.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-cipher<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-cipher name\u0437\u043d\u0430\u0447.: \u043b\u044e\u0431\u043e\u0435 \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0435 \u0438\u043c\u044f \u0448\u0438\u0444\u0440\u0430 OpenSSL<\/p>\n<\/td>\n<td>\n<p align=\"left\">AES-256-CBC<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0434\u0430\u0451\u0442 \u0448\u0438\u0444\u0440 \u0434\u043b\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430. \u0415\u0441\u043b\u0438 \u0448\u0438\u0444\u0440 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f AES-256-CBC.\u26a0\ufe0f HISTORY \u043e\u0442\u043c\u0435\u0447\u0430\u0435\u0442 \u0441\u043c\u0435\u043d\u0443 \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044f \u0441 3DES \u043d\u0430 AES-256 \u0432 OpenSSL 3.5 \u2014 \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0432\u044b\u0437\u043e\u0432 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 \u0434\u0430\u0441\u0442 \u043a\u043b\u044e\u0447, \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-config<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-config filename<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0441\u043c. \u00abCOMMAND SUMMARY\u00bb \u0432 openssl(1)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b.\u26a0\ufe0f \u041e\u043f\u0446\u0438\u044f \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430, \u043d\u043e \u0431\u0435\u0437 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430\/\u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u00abunable to find \u2018distinguished_name\u2019 in config\u00bb, \u0442\u043e\u0433\u0434\u0430 \u043a\u0430\u043a \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0431\u0435\u0437 \u043d\u0435\u0433\u043e \u2014 \u0441\u0430\u043c\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u044d\u0442\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043f\u043e\u0445\u043e\u0436\u0438\u043c \u043d\u0430 \u0431\u0430\u0433.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-copy_extensions<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-copy_extensions arg\u0437\u043d\u0430\u0447.: none, copy, copyall<\/p>\n<\/td>\n<td>\n<p align=\"left\">none (\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043a\u0430\u043a \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f X.509 \u0438\u0437 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430, \u043a\u043e\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f -x509. \u041f\u0440\u0438 copy \u0438\u043b\u0438 copyall \u0432\u0441\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043a\u043e\u043f\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442.\u26a0\ufe0f \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 -x509. \u0415\u0441\u043b\u0438 \u043e\u043f\u0446\u0438\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u043b\u0438 arg = none, \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043c\u043e\u043b\u0447\u0430 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f. \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0437\u0430\u0434\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u0440\u043e\u0434\u0435 subjectAltName.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-days<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-days n\u0437\u043d\u0430\u0447.: \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0446\u0435\u043b\u043e\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">30 days<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 -x509 \u0437\u0430\u0434\u0430\u0451\u0442 \u0441\u0440\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0432 \u0434\u043d\u044f\u0445 \u043e\u0442 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0433\u043e \u0434\u043d\u044f.\u26a0\ufe0f \u0411\u0435\u0437 -x509 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f. \u0414\u043d\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u0441\u0435\u0433\u043e\u0434\u043d\u044f, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 -not_before; \u043f\u0440\u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0441 -not_after \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0443 \u044f\u0432\u043d\u043e\u0439 \u0434\u0430\u0442\u044b \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-digest<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-digest\u0437\u043d\u0430\u0447.: \u043b\u044e\u0431\u043e\u0439 \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 dgst<\/p>\n<\/td>\n<td>\n<p align=\"left\">default_md \u0438\u0437 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0434\u0430\u0451\u0442 \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430; \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u043c\u044f \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0430 (\u0432 SYNOPSIS \u2014 -digest). \u041f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435.\u26a0\ufe0f \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u044e\u0442 \u0432\u044b\u0431\u043e\u0440: DSA \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 SHA1, GOST R 34.10 \u2014 GOST R 34.11-94 (-md_gost94), \u0430 Ed25519 \u0438 Ed448 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u0432\u043e\u0432\u0441\u0435.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-extensions<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-extensions section<\/p>\n<\/td>\n<td>\n<p align=\"left\">req_extensions (\u0434\u043b\u044f CSR) \u0438\u043b\u0438 x509_extensions (\u0434\u043b\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430) \u0438\u0437 \u0441\u0435\u043a\u0446\u0438\u0438 req<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0438\u043c\u044f \u0441\u0435\u043a\u0446\u0438\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f X.509 \u0434\u043b\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 (\u043f\u0440\u0438 -x509) \u0438\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430.\u26a0\ufe0f \u0415\u0441\u043b\u0438 \u043d\u0438 -extensions, \u043d\u0438 \u0435\u0433\u043e \u0430\u043b\u0438\u0430\u0441 -reqexts \u043d\u0435 \u0437\u0430\u0434\u0430\u043d\u044b, \u0438\u043c\u044f \u0441\u0435\u043a\u0446\u0438\u0438 \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0438\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 req_extensions\/x509_extensions \u0441\u0435\u043a\u0446\u0438\u0438 req; \u043f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u044d\u0442\u0438\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432\u043e\u0432\u0441\u0435. \u0417\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0430\u043c\u0443 \u0441\u0435\u043a\u0446\u0438\u044e req \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0446\u0438\u0435\u0439 -section. \u0412 OpenSSL 4.0 \u0443\u0431\u0440\u0430\u043d\u0430 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f subjectKeyIdentifier \u0438 authorityKeyIdentifier \u2014 \u0438\u0445 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u0442\u044c \u044f\u0432\u043d\u043e.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-help<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-help<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b.\u26a0\ufe0f \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043d\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439: \u0432\u044b\u0432\u043e\u0434 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d usage-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-in<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-in filename<\/p>\n<\/td>\n<td>\n<p align=\"left\">standard input unless -x509 or -CA is specified<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0424\u0430\u0439\u043b, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430.\u26a0\ufe0f \u0417\u0430\u043f\u0440\u043e\u0441 \u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u043d\u0435 \u0437\u0430\u0434\u0430\u043d\u044b \u043e\u043f\u0446\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f: -new, -newkey \u0438\u043b\u0438 -precert. \u041f\u0440\u0438 -x509 \u0438\u043b\u0438 -CA \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435\u043c \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0451\u0442 \u0431\u044b\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0432\u0432\u043e\u0434.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-inform<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-inform DER|PEM\u0437\u043d\u0430\u0447.: DER, PEM<\/p>\n<\/td>\n<td>\n<p align=\"left\">by default PEM is tried first<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 CSR. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u2014 \u0432 openssl-format-options(1).\u26a0\ufe0f \u042d\u0442\u043e \u043d\u0435 \u0436\u0451\u0441\u0442\u043a\u043e\u0435 \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435, \u0430 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u0440\u0430\u0437\u0431\u043e\u0440\u0430: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u0431\u0443\u0435\u0442\u0441\u044f PEM. \u0424\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0430 \u00abtried first\u00bb \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u00abunspecified by default\u00bb \u0443 -outform \u0438 -keyform.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-key<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-key filename|uri<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0434\u0430\u0451\u0442 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0438\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u0415\u0441\u043b\u0438 \u043d\u0435 \u0437\u0430\u0434\u0430\u043d -in, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u043d\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\/\u0437\u0430\u043f\u0440\u043e\u0441, \u0447\u0442\u043e \u0434\u0430\u0451\u0442 \u0441\u0430\u043c\u043e\u043f\u043e\u0434\u043f\u0438\u0441\u044c.\u26a0\ufe0f \u041f\u0440\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u044d\u0442\u0430 \u043e\u043f\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u043f\u0446\u0438\u0435\u0439 -CA. \u0414\u043b\u044f PEM-\u0444\u0430\u0439\u043b\u043e\u0432 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0438 \u043a\u043b\u044e\u0447\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 PKCS#8. \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430, \u043d\u043e \u0438 uri.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-keyform<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-keyform DER|PEM|P12\u0437\u043d\u0430\u0447.: DER, PEM, P12<\/p>\n<\/td>\n<td>\n<p align=\"left\">unspecified by default<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0424\u043e\u0440\u043c\u0430\u0442 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u2014 \u0432 openssl-format-options(1).\u26a0\ufe0f \u041d\u0430\u0431\u043e\u0440 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432 \u043d\u0430 master-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u2014 \u0440\u043e\u0432\u043d\u043e DER|PEM|P12. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f ENGINE \u0432 \u043d\u0451\u043c \u043d\u0435\u0442 (\u043e\u043f\u0446\u0438\u044f -engine \u0443\u0434\u0430\u043b\u0435\u043d\u0430 \u0432 OpenSSL 4.0), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u0441\u044e\u0434\u0430 \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u0442\u0430\u0440\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u043d\u0435\u043b\u044c\u0437\u044f; \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0438 \u0437\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 uri \u0432 -key.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-keyout<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-keyout filename<\/p>\n<\/td>\n<td>\n<p align=\"left\">If neither the -keyout option nor the -key option are given then the filename specified in the configuration file with the default_keyfile option is used, if present. \u2026 If a new key is generated and no filename is specified the key is written to standard output.<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0434\u0430\u0451\u0442 \u0444\u0430\u0439\u043b, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043b\u044e\u0431\u043e\u0439 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u2014 \u0432\u043d\u043e\u0432\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0438\u043b\u0438 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0439 \u0447\u0435\u0440\u0435\u0437 -key.\u26a0\ufe0f \u0415\u0441\u043b\u0438 -key \u0437\u0430\u0434\u0430\u043d, default_keyfile \u0438\u0437 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043d\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f: \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u0440\u044f\u043c\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u044c -keyout \u044f\u0432\u043d\u043e, \u0438\u043d\u0430\u0447\u0435 \u043a\u043b\u044e\u0447 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u043d. \u041f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0431\u0435\u0437 \u0438\u043c\u0435\u043d\u0438 \u0444\u0430\u0439\u043b\u0430 \u043e\u043d \u0443\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u2014 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c \u0432\u044b\u0432\u043e\u0434\u043e\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-modulus<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-modulus<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0433\u043e\u0441\u044f \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435.\u26a0\ufe0f \u0421\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u043d\u0435 \u043e\u0442\u043c\u0435\u043d\u044f\u0435\u0442 \u0432\u044b\u0432\u043e\u0434 \u0437\u0430\u043f\u0440\u043e\u0441\u0430; \u043e\u0431\u044b\u0447\u043d\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 -noout.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-multivalue-rdn<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-multivalue-rdn<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u043f\u0446\u0438\u044f \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0440\u0430\u0437\u0431\u043e\u0440\u0443 \u0441\u0442\u0440\u043e\u043a\u0438 -subj (\u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u2014 \u043a \u0442\u0440\u0430\u043a\u0442\u043e\u0432\u043a\u0435 \u043c\u043d\u043e\u0433\u043e\u0437\u043d\u0430\u0447\u043d\u044b\u0445 RDN). \u0412 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0430 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0435\u0439 \u0438 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0430.\u26a0\ufe0f \u041e\u043f\u0446\u0438\u044f \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043a \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043b\u044e\u0447\u0430. \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0435\u0451 \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u043e: \u043c\u043d\u043e\u0433\u043e\u0437\u043d\u0430\u0447\u043d\u044b\u0435 RDN \u0441\u0435\u0439\u0447\u0430\u0441 \u0437\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c + \u043f\u0440\u044f\u043c\u043e \u0432\u043d\u0443\u0442\u0440\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f -subj, \u0430 \u0441\u0430\u043c\u0430 \u043e\u043f\u0446\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-nameopt<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-nameopt option\u0437\u043d\u0430\u0447.: \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u0437 openssl-namedisplay-options(1)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0434\u0430\u0451\u0442 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u043c\u0451\u043d subject \u0438 issuer.\u26a0\ufe0f \u0412\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0432\u044b\u0432\u043e\u0434 -subject \u0438 -text, \u043d\u043e \u043d\u0435 \u043d\u0430 \u0440\u0430\u0437\u0431\u043e\u0440 -subj: \u0444\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430 \u0438\u043c\u0435\u043d\u0438 \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-new<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-new<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 -key \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u2014 RSA 2048 \u0431\u0438\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u043e\u0437\u0434\u0430\u0451\u0442 \u043d\u043e\u0432\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430, \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u044f \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439. \u041d\u0430\u0431\u043e\u0440 \u043f\u043e\u043b\u0435\u0439 \u0438 \u0438\u0445 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435\/\u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0437\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0444\u0430\u0439\u043b\u043e\u043c.\u26a0\ufe0f \u0415\u0441\u043b\u0438 -key \u043d\u0435 \u0437\u0430\u0434\u0430\u043d, \u043a\u043b\u044e\u0447 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043b\u0438\u0431\u043e \u043f\u043e -newkey\/-pkeyopt, \u0438\u043d\u0430\u0447\u0435 \u2014 RSA 2048. \u0424\u043b\u0430\u0433 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u043f\u0446\u0438\u044f\u043c\u0438 -newkey \u0438 -precert, \u0430 \u0442\u0430\u043a\u0436\u0435 -x509, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0437\u0430\u0434\u0430\u043d -in.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-newhdr<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-newhdr<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043b\u043e\u0432\u043e NEW \u0432 \u0441\u0442\u0440\u043e\u043a\u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f PEM-\u0444\u0430\u0439\u043b\u0430 \u0432\u044b\u0432\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430.\u26a0\ufe0f \u041d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u043e\u043c\u0443 \u041f\u041e (Netscape certificate server) \u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c CA; \u043e\u0431\u044b\u0447\u043d\u044b\u0435 \u043f\u0430\u0440\u0441\u0435\u0440\u044b \u0442\u0430\u043a\u043e\u0433\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-newkey<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-newkey arg\u0437\u043d\u0430\u0447.: [rsa:]nbits | param:file | algname[:file]<\/p>\n<\/td>\n<td>\n<p align=\"left\">default_bits \u0438\u0437 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438, \u0438\u043d\u0430\u0447\u0435 2048<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 (\u0435\u0441\u043b\u0438 \u043d\u0435 \u0437\u0430\u0434\u0430\u043d -key) \u0438 \u0434\u0430\u043b\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0435\u0433\u043e \u0442\u0430\u043a, \u043a\u0430\u043a \u0435\u0441\u043b\u0438 \u0431\u044b \u043e\u043d \u0431\u044b\u043b \u043f\u0435\u0440\u0435\u0434\u0430\u043d \u0447\u0435\u0440\u0435\u0437 -key. \u0424\u043e\u0440\u043c\u0430 algname:file \u0431\u0435\u0440\u0451\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438\u043b\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430.\u26a0\ufe0f \u041f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 -new. \u0415\u0441\u043b\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043d\u0435 \u0437\u0430\u0434\u0430\u043d\u044b \u0444\u0430\u0439\u043b\u043e\u043c, \u0438\u0445 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 -pkeyopt. \u041a\u043b\u044e\u0447\u0438 gost2001\/gost2012_256\/gost2012_512 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 gostprov, \u0430 \u0434\u043b\u044f gost2001 \u0431\u0435\u0437 \u0444\u0430\u0439\u043b\u0430 \u2014 -pkeyopt paramset:X.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-nodes<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-nodes<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0439 \u0441\u0438\u043d\u043e\u043d\u0438\u043c -noenc: \u043d\u0435 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0439 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447. \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u0442 \u043e\u043f\u0446\u0438\u044e \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0435\u0439 \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 OpenSSL 3.0 \u0438 \u043f\u0440\u0435\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c -noenc.\u26a0\ufe0f \u041e\u043f\u0446\u0438\u044f \u0432\u0441\u0451 \u0435\u0449\u0451 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 SYNOPSIS \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043d\u043e \u043f\u043e\u043c\u0435\u0447\u0435\u043d\u0430 \u043a\u0430\u043a deprecated \u2014 \u0432 \u043d\u043e\u0432\u044b\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0442\u0440\u0435\u0431\u0443\u0435\u0442 -noenc. \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u00abno DES\u00bb, \u0445\u043e\u0442\u044f \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435\u043c \u0434\u0430\u0432\u043d\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f AES-256-CBC.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-noenc<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-noenc<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0415\u0441\u043b\u0438 \u0437\u0430\u0434\u0430\u043d\u0430, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0439 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u043d\u0435 \u0448\u0438\u0444\u0440\u0443\u0435\u0442\u0441\u044f.\u26a0\ufe0f \u042d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 encrypt_key = no \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 (\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0435 \u0438\u043c\u044f \u2014 encrypt_rsa_key). \u041e\u0442\u043c\u0435\u043d\u044f\u0435\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 -cipher \u0438 -passout \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a \u043a\u043b\u044e\u0447\u0443.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-noout<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-noout<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u043e\u0434\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u044b\u0432\u043e\u0434 \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430.\u26a0\ufe0f \u041f\u043e\u0434\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442; -text, -subject, -pubkey, -modulus \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u043f\u0435\u0447\u0430\u0442\u0430\u0442\u044c \u0441\u0432\u043e\u0451.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-not_after<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-not_after date\u0437\u043d\u0430\u0447.: YYMMDDHHMMSSZ | YYYYMMDDHHMMSSZ | today<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 -x509 \u044f\u0432\u043d\u043e \u0437\u0430\u0434\u0430\u0451\u0442 \u0434\u0430\u0442\u0443 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430.\u26a0\ufe0f \u041f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u043e\u043f\u0446\u0438\u044e -days. \u0411\u0435\u0437 -x509 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f; \u0441\u0435\u043a\u0443\u043d\u0434\u044b \u0438 Z \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-not_before<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-not_before date\u0437\u043d\u0430\u0447.: YYMMDDHHMMSSZ | YYYYMMDDHHMMSSZ | today<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 -x509 \u044f\u0432\u043d\u043e \u0437\u0430\u0434\u0430\u0451\u0442 \u0434\u0430\u0442\u0443 \u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430.\u26a0\ufe0f \u0411\u0435\u0437 -x509 \u043e\u043f\u0446\u0438\u044f \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f. \u0412 \u043e\u0431\u043e\u0438\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u0430\u0445 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b \u0441\u0435\u043a\u0443\u043d\u0434\u044b SS \u0438 \u0442\u0430\u0439\u043c\u0437\u043e\u043d\u0430 Z. \u041e\u0442\u0441\u0447\u0451\u0442 -days \u0432\u0435\u0434\u0451\u0442\u0441\u044f \u043e\u0442 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0433\u043e \u0434\u043d\u044f \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f -not_before.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-out<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-out filename<\/p>\n<\/td>\n<td>\n<p align=\"left\">standard output<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0424\u0430\u0439\u043b \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430.\u26a0\ufe0f \u0411\u0435\u0437 -noout \u0432 \u0442\u043e\u0442 \u0436\u0435 \u043f\u043e\u0442\u043e\u043a \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0438 \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441, \u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 -text.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-outform<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-outform DER|PEM\u0437\u043d\u0430\u0447.: DER, PEM<\/p>\n<\/td>\n<td>\n<p align=\"left\">unspecified by default<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430. \u0412\u044b\u0432\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u2014 \u043e\u0431\u044a\u0435\u043a\u0442 PKCS#10.\u26a0\ufe0f \u00abUnspecified by default\u00bb \u2014 \u043d\u0435 \u0441\u0438\u043d\u043e\u043d\u0438\u043c PEM. \u041f\u0440\u0438 -x509 \u0438\u043b\u0438 -CA \u0442\u043e\u0439 \u0436\u0435 \u043e\u043f\u0446\u0438\u0435\u0439 \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u0444\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430, \u0430 \u043d\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-passin<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-passin arg\u0437\u043d\u0430\u0447.: \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u0438\u0437 openssl-passphrase-options(1)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u0430\u0440\u043e\u043b\u044f \u0434\u043b\u044f \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430.\u26a0\ufe0f \u041f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 input_password \u0438\u0437 \u0441\u0435\u043a\u0446\u0438\u0438 req \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-passout<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-passout arg\u0437\u043d\u0430\u0447.: \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u0438\u0437 openssl-passphrase-options(1)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u0430\u0440\u043e\u043b\u044f \u0434\u043b\u044f \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430.\u26a0\ufe0f \u041f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 output_password \u0438\u0437 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430. \u041f\u0440\u0438 -noenc \u043f\u0430\u0440\u043e\u043b\u044c \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u043d\u0435 \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u043e\u0432\u0441\u0435.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-pkeyopt<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pkeyopt opt:value<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u043e\u043f\u0446\u0438\u044e opt \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 value.\u26a0\ufe0f \u0422\u043e\u0447\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043e\u043f\u0446\u0438\u0439 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0438 \u0435\u0433\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438; \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u2014 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u00abKEY GENERATION OPTIONS\u00bb \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b openssl-genpkey(1).<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-precert<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-precert<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0432 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 poison-\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435, \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u044f \u0435\u0433\u043e \u0432 \u00abpre-certificate\u00bb (RFC 6962) \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0432 \u043b\u043e\u0433\u0438 Certificate Transparency \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f SCT.\u26a0\ufe0f \u041f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u0444\u043b\u0430\u0433 -new, \u0442\u043e \u0435\u0441\u0442\u044c \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0447\u0442\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0447\u0435\u0440\u0435\u0437 -in. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 SCT \u0437\u0430\u0442\u0435\u043c \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0432 pre-certificate, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e poison \u0443\u0434\u0430\u043b\u044f\u0435\u0442\u0441\u044f \u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u043d\u043e\u0432\u043e.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-propquery<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-propquery propq<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0434\u0430\u0451\u0442 property query clause, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0439 \u043f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u043a\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0438\u0437 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432.\u26a0\ufe0f \u0412\u0435\u0440\u0441\u0438\u044f \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0432 openssl-req(1) \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0430. \u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043e\u043f\u0438\u0441\u0430\u043d \u043d\u0435 \u0437\u0434\u0435\u0441\u044c, \u0430 \u0432 property(7).<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-provider<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-provider name<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c name; name \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u0430\u043a\u0436\u0435 \u043f\u0443\u0442\u0451\u043c \u043a \u043c\u043e\u0434\u0443\u043b\u044e \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u2014 \u0432 \u00abProvider Options\u00bb \u0432 openssl(1), provider(7) \u0438 property(7).\u26a0\ufe0f \u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 openssl-req(1) \u043d\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0432\u0435\u0440\u0441\u0438\u044e, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043e\u043f\u0446\u0438\u044f, \u2014 \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u0435\u043e\u0442\u043a\u0443\u0434\u0430. \u0412 HISTORY \u043e\u0442\u043c\u0435\u0447\u0435\u043d\u043e, \u0447\u0442\u043e \u043e\u043f\u0446\u0438\u044f -engine \u0443\u0434\u0430\u043b\u0435\u043d\u0430 \u0432 OpenSSL 4.0, \u0438 \u043d\u0430 master-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0435\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-provider-path<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-provider-path path<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0434\u0430\u0451\u0442 \u043f\u0443\u0442\u044c \u043f\u043e\u0438\u0441\u043a\u0430 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432. \u042d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f OPENSSL_MODULES.\u26a0\ufe0f \u0412\u0435\u0440\u0441\u0438\u044f \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 openssl-req(1) \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0430. \u041f\u043e\u0440\u044f\u0434\u043e\u043a \u043e\u043f\u0446\u0438\u0439 \u0432\u0430\u0436\u0435\u043d: \u043f\u0443\u0442\u044c \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0437\u0430\u0434\u0430\u043d \u0434\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-provparam<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-provparam [name:]key=value<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0435\u0441\u043b\u0438 name \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d \u2014 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u043e \u0432\u0441\u0435\u043c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u043c \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430\u043c<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 key \u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 value \u0443 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 name; \u0438\u043c\u044f \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e.\u26a0\ufe0f \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f openssl-req(1) \u043d\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0432\u0435\u0440\u0441\u0438\u044e OpenSSL, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u043f\u0446\u0438\u044f \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c, \u2014 \u043f\u043e\u043b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043f\u0443\u0441\u0442\u044b\u043c. \u0411\u0435\u0437 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 name: \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0441\u0440\u0430\u0437\u0443 \u043a\u043e \u0432\u0441\u0435\u043c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u043c \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430\u043c, \u0430 \u043d\u0435 \u043a \u043e\u0434\u043d\u043e\u043c\u0443.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-pubkey<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-pubkey<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447.\u26a0\ufe0f \u041d\u0435 \u043e\u0442\u043c\u0435\u043d\u044f\u0435\u0442 \u0432\u044b\u0432\u043e\u0434 \u0441\u0430\u043c\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u2014 \u0434\u043b\u044f \u0447\u0438\u0441\u0442\u043e\u0433\u043e \u0432\u044b\u0432\u043e\u0434\u0430 \u043a\u043b\u044e\u0447\u0430 \u043d\u0443\u0436\u0435\u043d \u0435\u0449\u0451 -noout.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-quiet<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-quiet<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0435\u0439 \u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0445, \u0447\u0442\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0432 \u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445 \u0438 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0430\u0445.\u26a0\ufe0f \u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u043f\u043e\u0434\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u00abprogress dots\u00bb \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043b\u044e\u0447\u0430 \u2014 \u0442\u043e \u0435\u0441\u0442\u044c \u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441 \u0434\u043e\u043b\u0433\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u0430 \u043d\u0435 \u043e\u0448\u0438\u0431\u043a\u0438.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-rand<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-rand files<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0424\u0430\u0439\u043b \u0438\u043b\u0438 \u0444\u0430\u0439\u043b\u044b \u0441\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u0437\u0430\u0442\u0440\u0430\u0432\u043a\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b. \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u2014 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u00abRandom State Options\u00bb \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b openssl(1).\u26a0\ufe0f \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b\u043e\u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c, \u0437\u0430\u0432\u0438\u0441\u044f\u0449\u0438\u043c \u043e\u0442 \u041e\u0421; \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043d\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0435\u0433\u043e \u044f\u0432\u043d\u043e. \u0412 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u0435\u0441\u0442\u044c \u0440\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 RANDFILE, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-reqexts<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-reqexts section<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0441\u043c. -extensions<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0410\u043b\u0438\u0430\u0441 \u043e\u043f\u0446\u0438\u0438 -extensions: \u0437\u0430\u0434\u0430\u0451\u0442 \u0438\u043c\u044f \u0441\u0435\u043a\u0446\u0438\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438.\u26a0\ufe0f \u0421 OpenSSL 3.2 \u044d\u0442\u043e \u0440\u043e\u0432\u043d\u043e \u0442\u043e\u0442 \u0436\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a, \u0447\u0442\u043e \u0438 -extensions; \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u00abreqexts \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432\u00bb \u043d\u0430 master-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-reqopt<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-reqopt option\u0437\u043d\u0430\u0447.: \u043e\u0434\u043d\u0430 \u043e\u043f\u0446\u0438\u044f \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 \u0444\u043e\u0440\u043c\u0430\u0442 \u043f\u0435\u0447\u0430\u0442\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0441 -text.\u26a0\ufe0f \u0418\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 -text. \u041f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043d\u0435 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f: \u0441\u043c. \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 -certopt \u0432 openssl-x509(1).<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-section<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-section name<\/p>\n<\/td>\n<td>\n<p align=\"left\">req<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0434\u0430\u0451\u0442 \u0438\u043c\u044f \u0441\u0435\u043a\u0446\u0438\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439.\u26a0\ufe0f \u041f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043d\u043e \u0438 \u0442\u043e, \u043e\u0442\u043a\u0443\u0434\u0430 \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 req_extensions \u0438 x509_extensions. \u0415\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438 \u043d\u0435\u0442, \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0431\u0435\u0437\u044b\u043c\u044f\u043d\u043d\u0430\u044f (default) \u0441\u0435\u043a\u0446\u0438\u044f.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-set_serial<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-set_serial n\u0437\u043d\u0430\u0447.: \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0438\u043b\u0438 hex \u0441 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u043c 0x<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0435\u0440\u0438\u0439\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u0441\u0430\u043c\u043e\u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430.\u26a0\ufe0f \u0415\u0441\u043b\u0438 \u043e\u043f\u0446\u0438\u044f \u043d\u0435 \u0437\u0430\u0434\u0430\u043d\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u2014 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0441\u0435\u0440\u0438\u0439\u043d\u0438\u043a\u043e\u0432 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u043c\u0443.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-sigopt<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-sigopt nm:v<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u043e\u043f\u0446\u0438\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u043f\u0440\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0445 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u044f.\u26a0\ufe0f \u0418\u043c\u0435\u043d\u0430 \u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u044b \u0434\u043b\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430; \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 openssl-req(1) \u0438\u0445 \u043d\u0435 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u0435\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-subj<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-subj arg\u0437\u043d\u0430\u0447.: \/type0=value0\/type1=value1\/type2=\u2026<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u0434\u0430\u0451\u0442 subject \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0438\u043b\u0438 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 subject \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430.\u26a0\ufe0f \u0421\u043f\u0435\u0446\u0441\u0438\u043c\u0432\u043e\u043b\u044b \u044d\u043a\u0440\u0430\u043d\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u043c \u0441\u043b\u044d\u0448\u0435\u043c, \u043f\u0440\u043e\u0431\u0435\u043b\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f. \u041f\u0443\u0441\u0442\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b, \u043d\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0442\u0438\u043f \u0432 \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0451\u0442. \u041e\u0434\u0438\u043d\u043e\u0447\u043d\u044b\u0439 \/ \u0434\u0430\u0451\u0442 \u043f\u0443\u0441\u0442\u0443\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c RDN (NULL-DN). \u041c\u043d\u043e\u0433\u043e\u0437\u043d\u0430\u0447\u043d\u044b\u0435 RDN \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c + \u0432\u043c\u0435\u0441\u0442\u043e \/ \u043c\u0435\u0436\u0434\u0443 AVA.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-subject<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-subject<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 subject \u0437\u0430\u043f\u0440\u043e\u0441\u0430 (\u0438\u043b\u0438 subject \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f -x509).\u26a0\ufe0f \u0421\u043f\u043e\u0441\u043e\u0431 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u043c\u0435\u043d\u0438 \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u043e\u043f\u0446\u0438\u0435\u0439 -nameopt.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-text<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-text<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0432\u0438\u0434\u0435.\u26a0\ufe0f \u0415\u0441\u043b\u0438 -verify \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0441\u044f \u043d\u0435\u0443\u0434\u0430\u0447\u0435\u0439, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e \u0438 -text \u0443\u0436\u0435 \u043d\u0435 \u043e\u0442\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442. \u0424\u043e\u0440\u043c\u0430\u0442 \u043f\u0435\u0447\u0430\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 -reqopt.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-utf8<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-utf8<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439 \u0442\u0440\u0430\u043a\u0442\u0443\u044e\u0442\u0441\u044f \u043a\u0430\u043a ASCII<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u0441\u0442\u0440\u043e\u043a\u0438 UTF-8 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u2014 \u043a\u0430\u043a ASCII).\u26a0\ufe0f \u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0438 \u043d\u0430 \u0432\u0432\u043e\u0434 \u0441 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430, \u0438 \u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u2014 \u043e\u043d\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u043c UTF-8. \u0410\u043d\u0430\u043b\u043e\u0433 \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u2014 utf8 = yes.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-verbose<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-verbose<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0445.\u26a0\ufe0f \u041f\u0440\u044f\u043c\u0430\u044f \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c -quiet; \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043d\u0435 \u043e\u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u0435\u0442 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0438 \u043e\u0431\u0435\u0438\u0445 \u043e\u043f\u0446\u0438\u0439.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-verify<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-verify<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0441\u0430\u043c\u043e\u043f\u043e\u0434\u043f\u0438\u0441\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u0430.\u26a0\ufe0f \u041f\u0440\u0438 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e, \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u043f\u0446\u0438\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 -text) \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f. \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 OpenSSL 3.3 \u043a\u043e\u0434 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u043f\u0440\u0438 \u043d\u0435\u0443\u0434\u0430\u0447\u0435 \u2014 1.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-vfyopt<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-vfyopt nm:v<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u043e\u043f\u0446\u0438\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u043f\u0440\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0445 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0438.\u26a0\ufe0f \u041f\u0430\u0440\u043d\u0430\u044f \u043a -sigopt: \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 (-verify), \u0430 \u043d\u0435 \u043d\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u0438.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-writerand<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-writerand file<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u0442\u0440\u0430\u0432\u043a\u0438 \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043f\u0440\u0438 \u0432\u044b\u0445\u043e\u0434\u0435; \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0432\u044b\u0437\u043e\u0432\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u041e\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u0442\u043e\u0439 \u0436\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 openssl(1) \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u00abRandom State Options\u00bb, \u0447\u0442\u043e \u0438 -rand.\u26a0\ufe0f \u041d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u043b\u043e\u0436\u043d\u043e -rand: -rand \u0447\u0438\u0442\u0430\u0435\u0442 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435, -writerand \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0444\u0430\u0439\u043b \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435. \u041e\u043f\u0446\u0438\u0438 \u043d\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c\u044b \u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u043f\u0430\u0440\u0435. \u041f\u043e\u0445\u043e\u0436\u0435\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0434\u0430\u0451\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 RANDFILE, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u0438\u0448\u0435\u0442\u0441\u044f 256 \u0431\u0430\u0439\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-x509<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-x509<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u044b\u0432\u043e\u0434\u0438\u0442 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0432\u043c\u0435\u0441\u0442\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430; \u0442\u0438\u043f\u0438\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432. \u041f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u043f\u0446\u0438\u0435\u0439 -CA.\u26a0\ufe0f \u041f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 -new, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0437\u0430\u0434\u0430\u043d -in. \u0415\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0435\u0440\u0435\u0434\u0430\u043d \u0447\u0435\u0440\u0435\u0437 -in, \u043e\u043d \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442; \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0438\u0437 \u043d\u0435\u0433\u043e \u041d\u0415 \u043a\u043e\u043f\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0437\u0430\u0434\u0430\u043d -copy_extensions. \u0411\u0435\u0437 -set_serial \u0441\u0435\u0440\u0438\u0439\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u2014 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e. \u0411\u0435\u0437 -x509v1 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0431\u0443\u0434\u0435\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 3, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u043d\u0435\u0442.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>-x509v1<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">-x509v1<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2014<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0422\u0440\u0435\u0431\u0443\u0435\u0442 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 X.509 v1. \u041f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 -x509.\u26a0\ufe0f \u0415\u0441\u043b\u0438 \u043a \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f X.509, \u0432\u0435\u0440\u0441\u0438\u044f 3 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u044d\u0442\u043e\u0439 \u043e\u043f\u0446\u0438\u0438.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<blockquote>\n<p><strong>\u0412\u0435\u0440\u0441\u0438\u0438 \u0438 \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0435 \u043a\u0430\u043c\u043d\u0438:<\/strong><\/p>\n<ul>\n<li>\n<p><code>-addext<\/code> \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043f\u0440\u044f\u043c\u043e \u0432 \u0437\u0430\u043f\u0440\u043e\u0441 \u0438 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043f\u0440\u0430\u0432\u043a\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0430; <code>-reqexts<\/code> \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u0435\u043a\u0446\u0438\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0430. \u041f\u0440\u0438 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u2014 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>openssl req -in ... -noout -text<\/code>.<\/p>\n<\/li>\n<li>\n<p><code>-subj<\/code> \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0432\u0432\u043e\u0434 \u0446\u0435\u043b\u0438\u043a\u043e\u043c. \u0421\u043b\u044d\u0448 \u0432\u043d\u0443\u0442\u0440\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u044d\u043a\u0440\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u043c \u0441\u043b\u044d\u0448\u0435\u043c, \u0438\u043d\u0430\u0447\u0435 DN \u0440\u0430\u0437\u0432\u0430\u043b\u0438\u0442\u0441\u044f \u043d\u0430 \u043b\u0438\u0448\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b.<\/p>\n<\/li>\n<li>\n<p>\u041a\u043b\u044e\u0447 <code>-x509<\/code> \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 <code>req<\/code> \u0438\u0437 \u00ab\u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u00bb \u0432 \u00ab\u0432\u044b\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0430\u043c\u043e\u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u00bb \u2014 \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u043c \u0432 \u0427\u0430\u0441\u0442\u0438 1 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0441\u044f \u043a\u043e\u0440\u0435\u043d\u044c.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0432\u0435\u0440\u0435\u043d\u043e \u0441: <a href=\"https:\/\/docs.openssl.org\/master\/man1\/openssl-req\/\" rel=\"noopener nofollow\">https:\/\/docs.openssl.org\/master\/man1\/openssl-req\/<\/a>, <a href=\"https:\/\/docs.openssl.org\/master\/man1\/openssl\/\" rel=\"noopener nofollow\">https:\/\/docs.openssl.org\/master\/man1\/openssl\/<\/a><\/p>\n<\/li>\n<\/ul>\n<\/blockquote>\n<\/div>\n<\/details>\n<hr\/>\n<h3>\u0428\u0430\u0433 2. PKIDesk: \u0434\u0432\u0438\u0436\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c\u0438<\/h3>\n<p>\u041e\u0434\u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0430 \u2014 \u044d\u0442\u043e \u0435\u0449\u0451 \u043d\u0435 \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u044f\u044e\u0449\u0438\u0439 \u0446\u0435\u043d\u0442\u0440. \u0417\u0430 \u043d\u0435\u0439 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u0442\u043e\u044f\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0437\u043d\u0430\u0435\u0442, \u043a\u0442\u043e \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u0438\u0448\u0435\u0434\u0448\u0438\u0439, \u0447\u0442\u043e \u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e, \u043a\u0442\u043e \u043e\u0434\u043e\u0431\u0440\u0438\u043b \u0432\u044b\u043f\u0443\u0441\u043a \u0438 \u0447\u0435\u043c \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u043e\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u043e \u043d\u0435\u0433\u043e.<\/p>\n<p>\u041f\u043e\u043a\u0430 \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u044f\u044e\u0449\u0438\u043c \u0446\u0435\u043d\u0442\u0440\u043e\u043c \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0447\u0435\u043b\u043e\u0432\u0435\u043a, <code>openssl ca<\/code> \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 \u2014 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0432\u0442\u043e\u0440\u043e\u0439, \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b \u043d\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442: \u043a\u0442\u043e \u043e\u0434\u043e\u0431\u0440\u0438\u043b \u0432\u044b\u043f\u0443\u0441\u043a, \u043d\u0430 \u043a\u0430\u043a\u043e\u043c \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438, \u043a\u0442\u043e \u043e\u0442\u043e\u0437\u0432\u0430\u043b \u0438 \u043f\u043e\u0447\u0435\u043c\u0443, \u0443 \u043a\u043e\u0433\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0435\u0441\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442. \u042d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0446\u0435\u043d\u0442\u0440\u0430, \u0438 \u0435\u0451 \u043d\u0443\u0436\u043d\u043e \u043a\u0443\u0434\u0430-\u0442\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/\/post_images\/5fd\/a86\/190\/5fda861904cfb459bdb698ead4a211a3.svg\" alt=\"PKIDesk\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/\/post_images\/5fd\/a86\/190\/5fda861904cfb459bdb698ead4a211a3.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/\/post_images\/5fd\/a86\/190\/5fda861904cfb459bdb698ead4a211a3.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>PKIDesk<\/figcaption><\/div>\n<\/figure>\n<p>\u0414\u0432\u0438\u0436\u043e\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <strong>PKIDesk<\/strong> \u0438 \u0436\u0438\u0432\u0451\u0442 \u0437\u0434\u0435\u0441\u044c: <a href=\"https:\/\/github.com\/DidenkoMS\/pkidesk\" rel=\"noopener nofollow\"><strong>github.com\/DidenkoMS\/pkidesk<\/strong><\/a>, Apache-2.0. \u041d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 Go, \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043d\u0435\u0442 \u043d\u0438 \u043e\u0434\u043d\u043e\u0439 \u2014 <code>go.mod<\/code> \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0438 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 <code>require<\/code>. \u0412\u0441\u0451, \u0447\u0442\u043e \u043c\u0435\u043d\u044f\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0423\u0426, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u0435\u043c\u0438 \u0436\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 <code>openssl ca<\/code>, \u0447\u0442\u043e \u0438 \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u043f\u043e\u0432\u0435\u0440\u0445 \u0442\u0435\u0445 \u0436\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u043e\u0432 \u0438 \u0442\u043e\u0439 \u0436\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0439 \u0431\u0430\u0437\u044b <code>index.txt<\/code>.<\/p>\n<p>\u0427\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0430: <strong>\u0434\u0432\u0438\u0436\u043e\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0432 \u043f\u0430\u0440\u0435 \u0441 Claude Code<\/strong> \u2014 \u044f \u0441\u0442\u0430\u0432\u0438\u043b \u0437\u0430\u0434\u0430\u0447\u0443, \u0432\u044b\u0431\u0438\u0440\u0430\u043b \u0440\u0430\u0437\u0432\u0438\u043b\u043a\u0438 \u0438 \u0432\u044b\u0447\u0438\u0442\u044b\u0432\u0430\u043b \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u0438\u0441\u0430\u043b\u0430 \u043a\u043e\u0434 \u0438 \u0442\u0435\u0441\u0442\u044b. \u0420\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0438\u0436\u0435 \u043c\u043e\u0438, \u0438 \u043e\u0442\u0432\u0435\u0447\u0430\u044e \u0437\u0430 \u043d\u0438\u0445 \u044f, \u043d\u043e \u0441\u0430\u043c \u043a\u043e\u0434 \u0432 \u0438\u0437\u0440\u044f\u0434\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439, \u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u044c\u0441\u044f \u043a \u043d\u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u043a\u0430\u043a \u043a \u043b\u044e\u0431\u043e\u043c\u0443 \u0447\u0443\u0436\u043e\u043c\u0443 \u043a\u043e\u0434\u0443: \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0434\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 \u043e\u0434\u0438\u043d \u043a\u043e\u043d\u0442\u0443\u0440 \u0441 \u043a\u043b\u044e\u0447\u043e\u043c \u0423\u0426. \u041e\u0442\u0447\u0430\u0441\u0442\u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0432\u0438\u0436\u043e\u043a \u0438 \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 X.509 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e, \u0430 \u0444\u043e\u0440\u043a\u0430\u0435\u0442 <code>openssl<\/code> \u0438 \u043f\u0438\u0448\u0435\u0442 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0446\u0435\u043b\u0438\u043a\u043e\u043c \u2014 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u043e\u043d \u0441\u0434\u0435\u043b\u0430\u043b, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u043e \u0438 \u043d\u0435 \u0447\u0438\u0442\u0430\u044f \u0435\u0433\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432.<\/p>\n<h4>\u0420\u0430\u0437\u0432\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0432\u0430\u044f: \u0441\u0432\u043e\u0439 X.509 \u0438\u043b\u0438 \u043e\u0431\u0451\u0440\u0442\u043a\u0430 \u043d\u0430\u0434 openssl<\/h4>\n<p>\u0421\u043e\u0431\u043b\u0430\u0437\u043d \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u043f\u0443\u0441\u043a \u043d\u0430 <code>crypto\/x509<\/code> \u0432\u0435\u043b\u0438\u043a: \u0447\u0438\u0449\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0444\u043e\u0440\u043a\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0447\u0443\u0436\u043e\u0439 \u0432\u044b\u0432\u043e\u0434.<\/p>\n<p>\u041e\u0442\u043a\u0430\u0437\u0430\u043b\u0441\u044f. \u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u043d\u0435 \u0432 \u0442\u0440\u0443\u0434\u043e\u0437\u0430\u0442\u0440\u0430\u0442\u0430\u0445, \u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0431\u044b <strong>\u0432\u0442\u043e\u0440\u043e\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438\u0441\u0442\u0438\u043d\u044b<\/strong>: \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442, \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439 \u0434\u0432\u0438\u0436\u043a\u043e\u043c, \u043e\u0442\u043b\u0438\u0447\u0430\u043b\u0441\u044f \u0431\u044b \u043e\u0442 \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043f\u043e\u043b\u0435\u0439, \u0434\u0440\u0443\u0433\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 \u0441\u0435\u0440\u0438\u0439\u043d\u0438\u043a\u043e\u0432, \u0434\u0440\u0443\u0433\u043e\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0431\u0430\u0437\u044b. \u0412 \u043e\u0431\u0451\u0440\u0442\u043a\u0435 \u0436\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0435\u043e\u0442\u043b\u0438\u0447\u0438\u043c \u043e\u0442 \u0440\u0443\u0447\u043d\u043e\u0433\u043e: <code>index.txt<\/code>, <code>serial<\/code>, <code>newcerts\/<\/code> \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u0435\u0436\u043d\u0438\u043c\u0438, \u0438 \u043b\u044e\u0431\u043e\u0439 \u0448\u0430\u0433 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435.<\/p>\n<p>\u0420\u0430\u0437\u0431\u043e\u0440 \u0438 \u043f\u043e\u043a\u0430\u0437 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442, \u0441\u0434\u0435\u043b\u0430\u043d \u043d\u0430 <code>crypto\/x509<\/code> \u2014 \u0444\u043e\u0440\u043a\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043e\u0434\u043d\u043e \u043f\u043e\u043b\u0435, \u043d\u0435\u0437\u0430\u0447\u0435\u043c. \u041a\u043d\u043e\u043f\u043a\u0430 \u00ab\u0430 \u043a\u0430\u043a \u044d\u0442\u043e \u0432\u0438\u0434\u0438\u0442 openssl\u00bb \u0440\u044f\u0434\u043e\u043c \u043e\u0441\u0442\u0430\u043b\u0430\u0441\u044c \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 <code>openssl x509 -text<\/code>.<\/p>\n<h4>\u0420\u0430\u0437\u0432\u0438\u043b\u043a\u0430 \u0432\u0442\u043e\u0440\u0430\u044f: \u0433\u0434\u0435 \u0436\u0438\u0432\u0451\u0442 \u043a\u043b\u044e\u0447 \u0423\u0426<\/h4>\n<p>\u042d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u044f \u0441\u0447\u0438\u0442\u0430\u044e \u043f\u043e-\u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u043c\u0443 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c.<\/p>\n<p>\u0412\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430. \u041a\u043b\u044e\u0447 \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u044f\u044e\u0449\u0435\u0433\u043e \u0446\u0435\u043d\u0442\u0440\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0432\u0441\u0451, \u0447\u0435\u043c\u0443 \u0434\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f. \u0421\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0438\u0445 \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u2014 \u0437\u043d\u0430\u0447\u0438\u0442 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043c\u0435\u0436\u0434\u0443 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u043e\u043c \u0438 \u043a\u043e\u0440\u043d\u0435\u043c \u0434\u043e\u0432\u0435\u0440\u0438\u044f \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u043d\u0443 \u043e\u0448\u0438\u0431\u043a\u0443 \u0432 \u0440\u0430\u0437\u0431\u043e\u0440\u0435 HTTP.<\/p>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0432\u0438\u0436\u043e\u043a \u0440\u0430\u0437\u0440\u0435\u0437\u0430\u043d \u043f\u043e \u0442\u043e\u0439 \u0436\u0435 \u0433\u0440\u0430\u043d\u0438\u0446\u0435, \u0447\u0442\u043e \u0438 \u0441\u0442\u0435\u043d\u0434 \u0427\u0430\u0441\u0442\u0438 2, \u0433\u0434\u0435 OCSP-\u043e\u0442\u0432\u0435\u0442\u0447\u0438\u043a \u0436\u0438\u0432\u0451\u0442 \u0432\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u043c \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0435, \u0430 \u043d\u0430\u0440\u0443\u0436\u0443 \u0441\u043c\u043e\u0442\u0440\u0438\u0442 DMZ-\u0445\u043e\u0441\u0442 \u0431\u0435\u0437 \u043a\u043b\u044e\u0447\u0435\u0439:<\/p>\n<pre><code>public-dmz            app-backend            signer-bridge          internal-ca\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510        \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510        \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510        \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\u2502  app-web   \u2502 mTLS   \u2502pkidesk-portal\u2502  JSON  \u2502          \u2502        \u2502 pkidesk-signer \u2502\u2502 nginx 443  \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500&gt;\u2502    \u0432\u0435\u0431-UI    \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500&gt;\u2502   \u043c\u043e\u0441\u0442   \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500&gt;\u2502   \u043a\u043b\u044e\u0447\u0438 \u0423\u0426     \u2502\u2502 \/apache    \u2502 X-SSL-*\u2502  \u043a\u043b\u044e\u0447\u0435\u0439 \u043d\u0435\u0442  \u2502 \u0442\u043e\u043a\u0435\u043d  \u2502          \u2502        \u2502   index.txt    \u2502\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518        \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518        \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518        \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\n<\/th>\n<th>\n<p align=\"left\"><code>pkidesk-portal<\/code><\/p>\n<\/th>\n<th>\n<p align=\"left\"><code>pkidesk-signer<\/code><\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0421\u0435\u0442\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">app-backend, signer-bridge<\/p>\n<\/td>\n<td>\n<p align=\"left\">internal-ca, signer-bridge<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041f\u043e\u0440\u0442\u044b \u043d\u0430\u0440\u0443\u0436\u0443<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043d\u0435\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043d\u0435\u0442 \u0432\u043e\u043e\u0431\u0449\u0435<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041a\u043b\u044e\u0447\u0438 \u0423\u0426<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u043d\u0435\u0442<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0414\u0435\u0440\u0435\u0432\u043e \u0423\u0426, <code>index.txt<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u043d\u0435\u0442<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>openssl<\/code> \u0432 \u043e\u0431\u0440\u0430\u0437\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u043d\u0435\u0442<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u0430<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u041f\u043e\u0440\u0442\u0430\u043b \u0443\u043c\u0435\u0435\u0442 \u0440\u043e\u0432\u043d\u043e \u0442\u043e, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043e \u0432 API \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0442\u0430, \u2014 \u0434\u0435\u0432\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u043e\u0432. \u0420\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u0435\u0433\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043d\u0435 \u0442\u0440\u043e\u043d\u0443\u0432 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0442\u0430, \u043d\u0435\u043b\u044c\u0437\u044f, \u0438 \u044d\u0442\u043e \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438. \u041a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0430\u0446\u0438\u044f \u0432\u0435\u0431-\u0447\u0430\u0441\u0442\u0438 \u0434\u0430\u0451\u0442 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u0443 \u0440\u043e\u0432\u043d\u043e \u0442\u043e, \u0447\u0442\u043e \u0434\u0430\u0451\u0442 \u043b\u0435\u0433\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0443, \u2014 \u0438 \u043d\u0438 \u0431\u0430\u0439\u0442\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u0435.<\/p>\n<p>\u041a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u0423\u0426 \u043a \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0442\u0443 \u043d\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0451\u043d \u0432\u043e\u0432\u0441\u0435. \u041e\u043d \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f air-gapped, \u043a\u0430\u043a \u0432 \u0427\u0430\u0441\u0442\u0438 2: \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043a\u043b\u044e\u0447 \u0432 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u2014 \u0437\u043d\u0430\u0447\u0438\u0442 \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0443 \u0441\u0430\u043c\u0443\u044e \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u044e, \u0440\u0430\u0434\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u0441\u0451 \u0438 \u0437\u0430\u0442\u0435\u0432\u0430\u043b\u043e\u0441\u044c.<\/p>\n<h4>\u0420\u0430\u0437\u0432\u0438\u043b\u043a\u0430 \u0442\u0440\u0435\u0442\u044c\u044f: \u0433\u0434\u0435 \u0436\u0438\u0432\u0451\u0442 \u0440\u043e\u043b\u044c<\/h4>\n<p>\u0420\u043e\u043b\u044c \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0448\u0438\u0442\u044c \u0432 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u2014 \u0432 <code>OU<\/code> \u0438\u043b\u0438 \u0432 <code>certificatePolicies<\/code>. \u0422\u043e\u0433\u0434\u0430 \u0432\u043d\u0435\u0448\u043d\u0435\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0432\u043e\u0432\u0441\u0435, \u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0437\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u0441\u0430\u043c, \u0447\u0435\u0440\u0435\u0437 \u0442\u043e\u0442 \u0436\u0435 <code>SSLRequire<\/code>.<\/p>\n<p>\u041f\u043b\u0430\u0442\u0430: \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u0435 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0435\u0440\u0435\u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0438 \u043e\u0442\u0437\u044b\u0432 \u0441\u0442\u0430\u0440\u043e\u0433\u043e. \u041f\u043e\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u2014 \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0441\u0442\u0430\u0440\u044b\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0441 \u0440\u043e\u043b\u044c\u044e \u00ab\u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u00bb \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c, \u043f\u043e\u043a\u0430 \u0435\u0433\u043e \u043d\u0435 \u043e\u0442\u0437\u043e\u0432\u0443\u0442 \u0438 \u043f\u043e\u043a\u0430 \u043e\u0442\u0437\u044b\u0432 \u043d\u0435 \u0434\u043e\u0435\u0434\u0435\u0442 \u0434\u043e \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e\u0449\u0438\u0445.<\/p>\n<p>\u0412\u044b\u0431\u0440\u0430\u043b \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435: \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441 \u00ab\u043a\u0442\u043e \u043f\u0440\u0438\u0448\u0451\u043b\u00bb, \u0434\u0432\u0438\u0436\u043e\u043a \u2014 \u00ab\u0447\u0442\u043e \u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e\u00bb. \u0421\u043c\u0435\u043d\u0430 \u0440\u043e\u043b\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0437\u0430\u043f\u0438\u0441\u044c\u044e \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435, \u0430 \u043d\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0435\u0439.<\/p>\n<h4>\u0420\u0430\u0437\u0432\u0438\u043b\u043a\u0430 \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u0430\u044f: \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0441 subjectAltName \u0438\u0437 \u0437\u0430\u043f\u0440\u043e\u0441\u0430<\/h4>\n<p>\u0417\u0430\u044f\u0432\u0438\u0442\u0435\u043b\u044c \u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442 CSR, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u0440\u043e\u0441\u0438\u0442 <code>subjectAltName<\/code>. \u041b\u043e\u0433\u0438\u0447\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0438\u0437 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u2014 \u0432 openssl \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0435\u0441\u0442\u044c <code>copy_extensions = copy<\/code>.<\/p>\n<p>\u0422\u0430\u043a \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435\u043b\u044c\u0437\u044f. \u041f\u0440\u0438 <code>copy_extensions = copy<\/code> \u0437\u0430\u044f\u0432\u0438\u0442\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0441\u0435\u0431\u0435 <code>basicConstraints = CA:TRUE<\/code> \u2014 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u043e \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0446\u0435\u043d\u0442\u0440\u0430. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e <code>none<\/code> \u0441\u0442\u043e\u0438\u0442 \u043d\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e.<\/p>\n<p>\u0412 \u0434\u0432\u0438\u0436\u043a\u0435 SAN \u0438\u0437 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0443 \u043a\u0430\u043a <strong>\u043f\u043e\u0436\u0435\u043b\u0430\u043d\u0438\u0435<\/strong>, \u0430 \u0432 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043e\u0432\u0435\u0440\u043b\u0435\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u2014 \u0442\u043e \u0435\u0441\u0442\u044c \u0440\u043e\u0432\u043d\u043e \u0442\u043e, \u0447\u0442\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u043b. \u041e\u0432\u0435\u0440\u043b\u0435\u0439 \u0436\u0438\u0432\u0451\u0442 \u043e\u0434\u043d\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0438 \u0443\u0434\u0430\u043b\u044f\u0435\u0442\u0441\u044f:<\/p>\n<pre><code># \u0412\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043e\u0432\u0435\u0440\u043b\u0435\u0439, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0434\u0432\u0438\u0436\u043a\u043e\u043c \u043d\u0430 \u043e\u0434\u043d\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 openssl ca.# \u041e\u0441\u043d\u043e\u0432\u0430 \u2014 \u0441\u0435\u043a\u0446\u0438\u044f [ user_cert ], \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043e\u0434\u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0430.[ user_cert ]basicConstraints       = CA:FALSEkeyUsage               = critical, nonRepudiation, digitalSignature, keyEnciphermentextendedKeyUsage       = clientAuth, emailProtectioncrlDistributionPoints  = URI:http:\/\/pki.certservice.info\/crl\/PersonIntermediateCA.crlauthorityInfoAccess    = OCSP;URI:http:\/\/ocsp.certservice.info\/subjectAltName         = email:user@certservice.info, DNS:user.certservice.info<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<h4>\u0420\u0430\u0437\u0432\u0438\u043b\u043a\u0430 \u043f\u044f\u0442\u0430\u044f: \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0445\u043e\u0434<\/h4>\n<p>\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u00ab\u044f\u0439\u0446\u043e \u0438 \u043a\u0443\u0440\u0438\u0446\u0430\u00bb: \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442, \u043d\u0443\u0436\u043d\u043e \u0432\u043e\u0439\u0442\u0438 \u0432 \u0434\u0432\u0438\u0436\u043e\u043a, \u0430 \u0447\u0442\u043e\u0431\u044b \u0432\u043e\u0439\u0442\u0438 \u2014 \u043d\u0443\u0436\u0435\u043d \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442.<\/p>\n<p>\u0420\u0430\u0437\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u2014 \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u043c \u043f\u0430\u0440\u043e\u043b\u0435\u043c \u0438\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, <strong>\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043a\u0430 \u0432 \u0434\u0432\u0438\u0436\u043a\u0435 \u043d\u0435\u0442 \u043d\u0438 \u043e\u0434\u043d\u043e\u0439 \u0443\u0447\u0451\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438<\/strong>. \u0414\u0430\u043b\u044c\u0448\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0441\u0435\u0431\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442, \u0437\u0430\u0432\u043e\u0434\u0438\u0442 \u043f\u043e \u043d\u0435\u043c\u0443 \u0443\u0447\u0451\u0442\u043a\u0443, \u043f\u0435\u0440\u0435\u0437\u0430\u0445\u043e\u0434\u0438\u0442 \u0438 \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u0443\u044e. \u041f\u0430\u0440\u043e\u043b\u044c \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0443\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0438\u0437 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0412\u0442\u043e\u0440\u043e\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043d\u0438\u043c\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0440\u0443\u0442\u0438\u043d\u044b, \u2014 <strong>\u0430\u0432\u0442\u043e\u0437\u0430\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/strong>: \u043f\u0440\u0435\u0434\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0423\u0426 \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u0435 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0432\u0435\u0441\u0442\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u043e\u043b\u044c\u044e. \u0418\u043d\u0430\u0447\u0435 \u043f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0431\u044b \u0440\u0443\u043a\u0430\u043c\u0438 \u0437\u0430\u0432\u043e\u0434\u0438\u0442\u044c \u043a\u0430\u0436\u0434\u043e\u0433\u043e, \u043a\u043e\u043c\u0443 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0443\u0436\u0435\u043d \u0432\u0445\u043e\u0434.<\/p>\n<h4>\u0427\u0442\u043e \u0434\u0432\u0438\u0436\u043e\u043a \u0443\u043c\u0435\u0435\u0442<\/h4>\n<ul>\n<li>\n<p><strong>\u041e\u0431\u0437\u043e\u0440<\/strong> \u2014 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0423\u0426: \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u043e\u0437\u0432\u0430\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u0438\u0441\u0442\u0435\u043a\u0430\u0435\u0442 CRL \u0438 \u0441\u0430\u043c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0446\u0435\u043d\u0442\u0440\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432<\/strong> \u2014 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 <code>index.txt<\/code> \u0441 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u043c\u0438; \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0434\u0430\u0442\u0435, \u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u0431\u0443\u043a\u0432\u0435 <code>V<\/code>\/<code>R<\/code>\/<code>E<\/code>.<\/p>\n<\/li>\n<li>\n<p><strong>\u041a\u0430\u0440\u0442\u043e\u0447\u043a\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430<\/strong> \u2014 \u0440\u0430\u0437\u0431\u043e\u0440 \u043f\u043e\u043b\u0435 \u0437\u0430 \u043f\u043e\u043b\u0435\u043c, \u0432\u0441\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0441 \u043f\u043e\u043c\u0435\u0442\u043a\u043e\u0439 <code>critical<\/code> \u0438 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435\u043c, \u043d\u0430 \u0447\u0442\u043e \u0432\u043b\u0438\u044f\u0435\u0442 \u043a\u0430\u0436\u0434\u043e\u0435; \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0430 \u0432 PEM, DER, PKCS#7, \u0441 \u0446\u0435\u043f\u043e\u0447\u043a\u043e\u0439 \u0438 \u0432 \u0432\u0438\u0434\u0435 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 <code>openssl x509 -text<\/code>; \u043a\u043d\u043e\u043f\u043a\u0438 <code>openssl verify<\/code> \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043a OCSP.<\/p>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u043f\u0443\u0441\u043a<\/strong> \u2014 \u043f\u043e \u0433\u043e\u0442\u043e\u0432\u043e\u043c\u0443 CSR \u043b\u0438\u0431\u043e \u0441 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0435\u0439 \u043a\u043b\u044e\u0447\u0430 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 (\u0441 \u0447\u0435\u0441\u0442\u043d\u043e\u0439 \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u043e\u0439, \u0447\u0442\u043e \u044d\u0442\u043e \u0440\u0430\u0437\u0440\u0443\u0448\u0430\u0435\u0442 \u043d\u0435\u043e\u0442\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0441\u0442\u044c).<\/p>\n<\/li>\n<li>\n<p><strong>\u041e\u0442\u0437\u044b\u0432<\/strong> \u2014 \u0432\u0441\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u044b <code>-crl_reason<\/code>, \u0432\u043a\u043b\u044e\u0447\u0430\u044f <code>certificateHold<\/code> \u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 <code>-crl_compromise<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0432 \u0437\u0430\u043f\u0438\u0441\u044c CRL \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c <code>invalidityDate<\/code>.<\/p>\n<\/li>\n<li>\n<p><strong>\u0417\u0430\u044f\u0432\u043a\u0438<\/strong> \u2014 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0446\u0435\u043d\u0442\u0440\u0430: \u0437\u0430\u044f\u0432\u0438\u0442\u0435\u043b\u044c \u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442 CSR, \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0440\u0435\u0448\u0430\u0435\u0442.<\/p>\n<\/li>\n<li>\n<p><strong>\u0416\u0443\u0440\u043d\u0430\u043b<\/strong> \u2014 \u043a\u0442\u043e, \u0447\u0442\u043e, \u043a\u043e\u0433\u0434\u0430 \u0438 <strong>\u043a\u0430\u043a\u043e\u0439 \u0438\u043c\u0435\u043d\u043d\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439<\/strong>.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u043d\u0443\u0442\u044c. \u0412 \u0436\u0443\u0440\u043d\u0430\u043b \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0446\u0435\u043b\u0438\u043a\u043e\u043c:<\/p>\n<pre><code>openssl ca -batch -config \/root\/ca\/config\/PersonIntermediateCA.cnf \\  -passin env:CA_PASS_PERSON -notext \\  -extfile \/tmp\/pkidesk-signer\/ext-2676677601\/overlay.cnf -extensions user_cert -days 90 \\  -in \/tmp\/casign-...\/request.csr.pem -out \/tmp\/casign-...\/issued.cert.pem<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0427\u0435\u0440\u0435\u0437 \u0433\u043e\u0434 \u044d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u00ab\u043a\u0442\u043e \u043e\u0442\u043e\u0437\u0432\u0430\u043b\u00bb, \u043d\u043e \u0438 \u00ab\u0447\u0435\u043c \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u044b\u043f\u0443\u0449\u0435\u043d \u0432\u043e\u0442 \u044d\u0442\u043e\u0442 \u0441\u043f\u043e\u0440\u043d\u044b\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u00bb.<\/p>\n<p>\u041f\u0430\u0440\u043e\u043b\u044c \u043a\u043b\u044e\u0447\u0430 \u0423\u0426, \u043a\u0441\u0442\u0430\u0442\u0438, \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e <code>-passin env:CA_PASS_PERSON<\/code>. \u0412 <code>ps<\/code> \u0432\u0438\u0434\u0435\u043d \u043b\u0438\u0448\u044c <code>env:CA_PASS_PERSON<\/code>, \u0430 \u0441\u0430\u043c\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c\u0443 \u0434\u043e\u0447\u0435\u0440\u043d\u0435\u043c\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0443.<\/p>\n<hr\/>\n<h3>\u0428\u0430\u0433 3. \u0422\u0440\u0438 \u0434\u0435\u0444\u0435\u043a\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u043b\u0435\u0437\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0436\u0438\u0432\u043e\u043c \u0441\u0442\u0435\u043d\u0434\u0435<\/h3>\n<p>\u0412\u0441\u0451 \u0432\u044b\u0448\u0435\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u043e \u0442\u0435\u0441\u0442\u044b \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e. \u041d\u0430 \u0431\u043e\u0435\u0432\u043e\u043c \u0445\u043e\u0441\u0442\u0435 \u0432\u044b\u043b\u0435\u0437\u043b\u0438 \u0442\u0440\u0438 \u0432\u0435\u0449\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0442\u0435\u0441\u0442\u044b \u043d\u0435 \u043f\u043e\u0439\u043c\u0430\u043b\u0438. \u041a\u0430\u0436\u0434\u0430\u044f \u2014 \u0433\u043e\u0442\u043e\u0432\u0430\u044f \u043b\u043e\u0432\u0443\u0448\u043a\u0430 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u043a\u0442\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442.<\/p>\n<h4>3.1. subjectAltName = supplied \u0432 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0435<\/h4>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u0436\u0435 \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0443\u043f\u0430\u043b:<\/p>\n<pre><code>Check that the request matches the signatureSignature okThe subjectAltName field needed to be supplied and was missing<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u0440\u0438 \u0442\u043e\u043c, \u0447\u0442\u043e <code>subjectAltName<\/code> \u0432 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0431\u044b\u043b.<\/p>\n<p>\u0421\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u0438\u0437 \u0427\u0430\u0441\u0442\u0438 1:<\/p>\n<pre><code>[ policy_intermediate_server ]organizationName = matchcommonName       = suppliedemailAddress     = suppliedsubjectAltName   = supplied<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0420\u0430\u0437\u0433\u0430\u0434\u043a\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e <code><strong>openssl ca<\/strong><\/code><strong> \u043d\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0435\u0442 \u00ab\u043f\u043e\u043b\u0435 DN\u00bb \u0438 \u00ab\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u00bb<\/strong>. \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443, \u043e\u043d \u0431\u0435\u0440\u0451\u0442 \u0438\u043c\u044f \u0438\u0437 \u0441\u0435\u043a\u0446\u0438\u0438, \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442 \u0435\u0433\u043e \u0432 OID \u0438 \u0438\u0449\u0435\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 subject \u0441 \u044d\u0442\u0438\u043c OID. \u0423 <code>subjectAltName<\/code> OID \u0435\u0441\u0442\u044c \u2014 <code>2.5.29.17<\/code>, \u2014 \u0430 \u0432\u043e\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 subject \u0441 \u0442\u0430\u043a\u0438\u043c OID \u043d\u0435 \u0431\u044b\u0432\u0430\u0435\u0442: \u044d\u0442\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435. \u041f\u0440\u0430\u0432\u0438\u043b\u043e \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f \u043d\u0438\u043a\u043e\u0433\u0434\u0430, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u044b \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u0438\u043c\u0451\u043d \u043d\u0438 \u043b\u0435\u0436\u0430\u043b\u043e \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435.<\/p>\n<p>\u041a\u0430\u043a \u044d\u0442\u043e \u043e\u0431\u043e\u0448\u043b\u0438 \u0432 \u0427\u0430\u0441\u0442\u0438 1 \u2014 \u0432\u0438\u0434\u043d\u043e \u0432 \u0431\u0430\u0437\u0435:<\/p>\n<pre><code>V  181209120005Z  1B00000000000000  unknown   \/C=RU\/ST=Krasnoyarskiy kray\/L=Norilsk\/O=CertService\/OU=CertService. IT-Department.\/   CN=certservice.info\/emailAddress=web@certservice.info\/   subjectAltName=DNS:certservice.info, DNS:www.certservice.info<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><code>subjectAltName<\/code> \u0432\u043f\u0438\u0441\u0430\u043d <strong>\u043f\u0440\u044f\u043c\u043e \u0432 subject<\/strong>. \u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e\u0449\u0435\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u0435\u043d \u2014 \u0438\u043c\u044f \u0445\u043e\u0441\u0442\u0430 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0441\u0432\u0435\u0440\u044f\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c, \u2014 \u043d\u043e \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u043e\u043d \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442.<\/p>\n<p>\u0412\u044b\u0445\u043e\u0434\u0430 \u0434\u0432\u0430: \u0432\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c SAN \u0432 <code>-subj<\/code>, \u043a\u0430\u043a \u0432 \u0427\u0430\u0441\u0442\u0438 1, \u043b\u0438\u0431\u043e \u0441\u043c\u044f\u0433\u0447\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0434\u043e <code>optional<\/code> \u0438 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c SAN \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c, \u043a\u0430\u043a \u0438 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043e. \u0414\u0432\u0438\u0436\u043e\u043a \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u0435\u043b\u0430\u0435\u0442 \u043f\u0435\u0440\u0432\u043e\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442, \u043f\u043e\u0447\u0435\u043c\u0443.<\/p>\n<h4>3.2. \u041f\u0440\u043e\u0441\u0440\u043e\u0447\u0435\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f V<\/h4>\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043e\u0442\u043a\u0430\u0437:<\/p>\n<pre><code>There is already a certificate for \/C=RU\/...\/CN=certservice.info<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0421\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0438\u0437 \u0427\u0430\u0441\u0442\u0438 1 \u0438\u0441\u0442\u0451\u043a \u0432 2018 \u0433\u043e\u0434\u0443. \u041a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u0438\u0441\u0442\u0451\u043a\u0448\u0438\u0439 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u043c\u0435\u0448\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0432\u044b\u043f\u0443\u0441\u043a\u0443.<\/p>\n<p>\u041c\u0435\u0448\u0430\u0435\u0442. <code>unique_subject = yes<\/code> (\u0444\u0430\u0439\u043b <code>index.txt.attr<\/code>) \u0441\u0442\u0440\u043e\u0438\u0442 \u0438\u043d\u0434\u0435\u043a\u0441 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 <strong>\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c \u0441\u043e \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u043c <\/strong><code><strong>V<\/strong><\/code>, \u0430 \u0431\u0443\u043a\u0432\u0430 <code>E<\/code> \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0431\u0430\u0437\u0435 \u043d\u0435 \u0441\u0430\u043c\u0430 \u2014 \u0435\u0451 \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430:<\/p>\n<pre><code class=\"bash\">openssl ca -config ... -updatedb<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u043a\u0430 <code>-updatedb<\/code> \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d, \u0438\u0441\u0442\u0451\u043a\u0448\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0447\u0438\u0441\u043b\u0438\u0442\u0441\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 subject. \u041e\u0442\u0441\u044e\u0434\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u043e: <strong>\u043f\u0435\u0440\u0435\u0434 \u043f\u0435\u0440\u0435\u0432\u044b\u043f\u0443\u0441\u043a\u043e\u043c \u0441 \u0442\u0435\u043c \u0436\u0435 DN \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u0439\u0442\u0435 <\/strong><code><strong>-updatedb<\/strong><\/code>. \u0412 \u0434\u0432\u0438\u0436\u043a\u0435 \u044d\u0442\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430 \u00ab\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0442\u0430\u0442\u0443\u0441\u044b\u00bb \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0423\u0426 \u0438 \u0448\u0430\u0433 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430.<\/p>\n<h4>3.3. \u0413\u043e\u043d\u043a\u0430 \u00ab\u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b \u2014 \u0441\u0440\u0430\u0437\u0443 \u0437\u0430\u0448\u0451\u043b\u00bb<\/h4>\n<p>\u0421\u0430\u043c\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439.<\/p>\n<p>\u041e\u0442\u0432\u0435\u0442\u0447\u0438\u043a \u0438\u0437 \u0441\u043e\u0441\u0442\u0430\u0432\u0430 openssl \u0447\u0438\u0442\u0430\u0435\u0442 <code>index.txt<\/code> <strong>\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435<\/strong>. \u0412 \u0427\u0430\u0441\u0442\u0438 2 \u044d\u0442\u043e \u0440\u0435\u0448\u0430\u043b\u043e\u0441\u044c \u0440\u0443\u043a\u0430\u043c\u0438: \u043e\u0442\u043e\u0437\u0432\u0430\u043b \u2014 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438. \u041d\u043e \u0434\u0432\u0438\u0436\u043e\u043a \u043e\u0442\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u043e \u043a\u043d\u043e\u043f\u043a\u0435, \u0438 \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432 \u0433\u043e\u043b\u043e\u0432\u0435 \u0440\u0443\u0447\u043d\u043e\u0439 \u0448\u0430\u0433 \u043d\u0435\u043b\u044c\u0437\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0442\u0432\u0435\u0442\u0447\u0438\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e\u0434 \u043d\u0430\u0434\u0437\u0438\u0440\u0430\u0442\u0435\u043b\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043b\u0435\u0434\u0438\u0442 \u0437\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u044b \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0430\u043c.<\/p>\n<p>\u0418 \u0432\u043e\u0442 \u0442\u0443\u0442 \u0432\u0441\u0451 \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e. \u0412\u044b\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 <strong>\u043c\u0435\u043d\u044f\u0435\u0442 <\/strong><code><strong>index.txt<\/strong><\/code> \u2014 \u0437\u043d\u0430\u0447\u0438\u0442 \u043d\u0430\u0434\u0437\u0438\u0440\u0430\u0442\u0435\u043b\u044c \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043e\u0442\u0432\u0435\u0442\u0447\u0438\u043a\u0430. \u0410 \u0432\u043b\u0430\u0434\u0435\u043b\u0435\u0446 \u0441\u0432\u0435\u0436\u0435\u0433\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u043f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u0438\u0434\u0451\u0442 \u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f. \u0417\u0430\u043f\u0440\u043e\u0441 nginx \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0440\u043e\u0432\u043d\u043e \u0432 \u043e\u043a\u043d\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043e\u0442\u043a\u0430\u0437 \u2014 \u0438 nginx <strong>\u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/strong> \u0432 <code>ssl_ocsp_cache<\/code>. \u0414\u0430\u043b\u044c\u0448\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0432\u0438\u0434\u0438\u0442 <code>400 The SSL certificate error<\/code> \u0438 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0432\u043e\u0439\u0442\u0438, \u043f\u043e\u043a\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0435 \u043f\u0440\u043e\u0442\u0443\u0445\u043d\u0435\u0442, \u0445\u043e\u0442\u044f \u043e\u0442\u0432\u0435\u0442\u0447\u0438\u043a \u0434\u0430\u0432\u043d\u043e \u043f\u043e\u0434\u043d\u044f\u043b\u0441\u044f.<\/p>\n<p>\u041b\u0435\u0447\u0438\u0442\u0441\u044f \u0441 \u0434\u0432\u0443\u0445 \u0441\u0442\u043e\u0440\u043e\u043d.<\/p>\n<p>\u0421\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043d\u0430\u0434\u0437\u0438\u0440\u0430\u0442\u0435\u043b\u044f \u2014 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0435 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438, \u0430 \u043d\u0435 \u0444\u0430\u043a\u0442\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430:<\/p>\n<pre><code class=\"bash\">ready() {  # \u041e\u0442\u0432\u0435\u0442\u0447\u0438\u043a \u0433\u043e\u0442\u043e\u0432, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u0432\u043e\u0451\u043c \u043f\u043e\u0440\u0442\u0443.  # \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e: \u043c\u0435\u0436\u0434\u0443 fork \u0438 listen \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0437\u0430\u043c\u0435\u0442\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f,  # \u0438 \u0437\u0430\u043f\u0440\u043e\u0441, \u043f\u043e\u043f\u0430\u0432\u0448\u0438\u0439 \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u043a, \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u043e\u0442\u043a\u0430\u0437.  timeout 1 sh -c \"exec 3&lt;&gt;\/dev\/tcp\/127.0.0.1\/$PORT\" 2&gt;\/dev\/null}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u043f\u043b\u044e\u0441 \u0432\u044b\u0434\u0435\u0440\u0436\u043a\u0430 \u043d\u0430 \u0441\u0435\u0440\u0438\u044e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439: \u043e\u0434\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0434\u0432\u0438\u0436\u043a\u0430 \u043f\u0440\u0430\u0432\u0438\u0442 <code>index.txt<\/code> \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 (openssl \u043f\u0438\u0448\u0435\u0442 <code>.new<\/code> \u0438 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u044b\u0432\u0430\u0435\u0442), \u0430 \u043e\u0442\u0437\u044b\u0432 \u0441 \u043f\u0435\u0440\u0435\u0432\u044b\u043f\u0443\u0441\u043a\u043e\u043c CRL \u2014 \u0435\u0449\u0451 \u0438 \u043f\u043e\u0434\u0440\u044f\u0434. \u0411\u0435\u0437 \u0432\u044b\u0434\u0435\u0440\u0436\u043a\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u0431\u044b \u0441\u0435\u0440\u0438\u044f \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u043e\u0432, \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u043e \u0441\u0432\u043e\u0438\u043c \u043e\u043a\u043d\u043e\u043c \u043e\u0442\u043a\u0430\u0437\u0430.<\/p>\n<p>\u0421\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b nginx \u2014 \u043e\u0442\u043a\u0430\u0437 \u043e\u0442 \u043a\u044d\u0448\u0430:<\/p>\n<pre><code class=\"nginx\">ssl_ocsp           leaf;ssl_ocsp_responder http:\/\/ocsp.certservice.info\/;# ssl_ocsp_cache   shared:OCSP:2m;   \u2190 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043d\u043e \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041a\u044d\u0448 \u0445\u0440\u0430\u043d\u0438\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u044b\u0435 \u043e\u0442\u0432\u0435\u0442\u044b, \u043d\u043e \u0438 <strong>\u043d\u0435\u0443\u0434\u0430\u0447\u043d\u044b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438<\/strong>. \u0411\u0435\u0437 \u043a\u044d\u0448\u0430 \u043a\u0430\u0436\u0434\u043e\u0435 \u0440\u0443\u043a\u043e\u043f\u043e\u0436\u0430\u0442\u0438\u0435 \u0434\u0435\u043b\u0430\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u043a \u043e\u0442\u0432\u0435\u0442\u0447\u0438\u043a\u0443 \u2014 \u0434\u043e\u0440\u043e\u0436\u0435, \u043d\u043e \u0441\u0431\u043e\u0439 \u0441\u0430\u043c\u043e\u0443\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043f\u043e\u043f\u044b\u0442\u043a\u0435. \u0414\u043b\u044f \u0441\u0442\u0435\u043d\u0434\u0430 \u044d\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u043d; \u043d\u0430 \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u043c \u0443\u0437\u043b\u0435 \u043a\u044d\u0448 \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043e\u0442\u0432\u0435\u0442\u0447\u0438\u043a\u043e\u043c, \u0443\u043c\u0435\u044e\u0449\u0438\u043c \u043f\u0435\u0440\u0435\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0431\u0430\u0437\u0443 \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430.<\/p>\n<p>\u041c\u043e\u0440\u0430\u043b\u044c \u043e\u0431\u0449\u0430\u044f: <strong>\u043b\u044e\u0431\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0435\u0440\u0435\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435, \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u043e\u043a\u043d\u043e \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0445 \u043e\u0442\u0432\u0435\u0442\u043e\u0432<\/strong> \u2014 \u0438 \u043d\u0430\u0434\u043e \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0440\u0435\u0448\u0438\u0442\u044c, \u043a\u0442\u043e \u044d\u0442\u043e \u043e\u043a\u043d\u043e \u043f\u0435\u0440\u0435\u0436\u0438\u0432\u0451\u0442.<\/p>\n<hr\/>\n<h3>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430: \u043f\u043e\u043b\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u043d\u0430 \u0436\u0438\u0432\u043e\u043c \u0441\u0442\u0435\u043d\u0434\u0435<\/h3>\n<p>\u0422\u0430\u043a \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u043e\u0442 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u0430 \u0434\u043e \u043e\u0442\u0437\u044b\u0432\u0430. \u0412\u044b\u0432\u043e\u0434 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439, \u0441 \u0431\u043e\u0435\u0432\u043e\u0433\u043e \u0441\u0442\u0435\u043d\u0434\u0430 \u043d\u0430 nginx 1.29.8 \u0438 OpenSSL 3.3.7:<\/p>\n<pre><code> 1. \u0412\u0445\u043e\u0434 \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u043c \u043f\u0430\u0440\u043e\u043b\u0435\u043c                          ok 2. \u0412\u044b\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441          ok, \u0441\u0435\u0440\u0438\u0439\u043d\u0438\u043a 1A00000000000009 3. \u0421\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0430 \u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430                  ok, 2167 \u0438 1704 \u0431\u0430\u0439\u0442 4. \u0428\u0430\u0433\u0438 1-2 \u0432\u0445\u043e\u0434\u0430 \u043f\u043e \u043a\u043d\u043e\u043f\u043a\u0435: \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u043f\u0440\u0438\u043d\u044f\u0442     ok, \u043f\u0440\u043e\u043f\u0443\u0441\u043a \u0432\u044b\u0434\u0430\u043d 5. \u0428\u0430\u0433 3: \u0441\u0435\u0441\u0441\u0438\u044f \u043d\u0430 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u043c \u0445\u043e\u0441\u0442\u0435                ok, \u0432\u043e\u0448\u043b\u0438 \u0431\u0435\u0437 \u043c\u043e\u0434\u0430\u043b\u043a\u0438 6. \u0421\u0442\u0430\u0442\u0443\u0441 \u0447\u0435\u0440\u0435\u0437 OCSP \u0434\u043e \u043e\u0442\u0437\u044b\u0432\u0430                     good 7. \u041e\u0442\u0437\u044b\u0432 keyCompromise + \u043f\u0435\u0440\u0435\u0432\u044b\u043f\u0443\u0441\u043a CRL            ok 8. \u0421\u0435\u0440\u0438\u0439\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u043f\u0430\u043b \u0432 CRL                      ok 9. ocsp-watch \u043f\u0435\u0440\u0435\u0447\u0438\u0442\u0430\u043b index.txt \u0441\u0430\u043c              \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u043e\u0432 \u0437\u0430 \u043f\u0440\u043e\u0433\u043e\u043d: 510. \u0421\u0442\u0430\u0442\u0443\u0441 \u0447\u0435\u0440\u0435\u0437 OCSP \u043f\u043e\u0441\u043b\u0435 \u043e\u0442\u0437\u044b\u0432\u0430                  revoked (keyCompromise)11. \u0412\u0445\u043e\u0434 \u043e\u0442\u043e\u0437\u0432\u0430\u043d\u043d\u044b\u043c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u043c                    HTTP 302 \u2014 \u043e\u0442\u043a\u043b\u043e\u043d\u0451\u043d12. \u0425\u043e\u0441\u0442 \u0432\u0445\u043e\u0434\u0430 \u0431\u0435\u0437 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430                      HTTP 302 (\u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0432\u0445\u043e\u0434\u0430)13. \u0420\u0430\u0437\u0434\u0430\u0447\u0430 CRL \u0447\u0435\u0440\u0435\u0437 \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 (\u043f\u043e\u0440\u0442 80)     HTTP 200<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0422\u0440\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \u0437\u0430\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0437\u0433\u043b\u044f\u0434\u0430.<\/p>\n<p><strong>\u0421\u0442\u0440\u043e\u043a\u0430 9<\/strong> \u2014 \u043f\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u043e\u0432 \u043e\u0442\u0432\u0435\u0442\u0447\u0438\u043a\u0430 \u0437\u0430 \u043e\u0434\u0438\u043d \u043f\u0440\u043e\u0433\u043e\u043d. \u042d\u0442\u043e \u043d\u0435 \u0431\u0430\u0433, \u0430 \u0446\u0435\u043d\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0438\u0437 \u0440\u0430\u0437\u0434\u0435\u043b\u0430 3.3: \u043e\u0434\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0434\u0432\u0438\u0436\u043a\u0430 \u043c\u0435\u043d\u044f\u0435\u0442 <code>index.txt<\/code> \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 (openssl \u043f\u0438\u0448\u0435\u0442 <code>.new<\/code> \u0438 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u044b\u0432\u0430\u0435\u0442), \u0430 \u043e\u0442\u0437\u044b\u0432 \u0441 \u043f\u0435\u0440\u0435\u0432\u044b\u043f\u0443\u0441\u043a\u043e\u043c CRL \u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u043e \u0434\u0432\u0430\u0436\u0434\u044b \u043f\u043e\u0434\u0440\u044f\u0434. \u0412\u044b\u0434\u0435\u0440\u0436\u043a\u0430 \u0432 \u043d\u0430\u0434\u0437\u0438\u0440\u0430\u0442\u0435\u043b\u0435 \u0441\u0445\u043b\u043e\u043f\u044b\u0432\u0430\u0435\u0442 \u0441\u0435\u0440\u0438\u044e, \u043d\u043e \u043d\u0435 \u0432 \u043e\u0434\u043d\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0435. \u041f\u043e\u043a\u0430 \u043e\u0442\u0432\u0435\u0442\u0447\u0438\u043a \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u043d\u043e\u0432\u043e, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043e\u0442\u0437\u044b\u0432\u0430 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u043e\u0448\u0438\u0431\u043a\u043e\u0439 \u2014 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 <code>ssl_ocsp_cache<\/code> \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d.<\/p>\n<p><strong>\u0421\u0442\u0440\u043e\u043a\u0438 11 \u0438 12<\/strong> \u2014 \u0442\u043e, \u0440\u0430\u0434\u0438 \u0447\u0435\u0433\u043e \u0432\u0441\u0451 \u0437\u0430\u0442\u0435\u0432\u0430\u043b\u043e\u0441\u044c, \u0438 \u0437\u0430\u043e\u0434\u043d\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0430 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u043a\u043e\u0434\u043e\u0432 nginx \u0438\u0437 <a href=\"https:\/\/habr.com\/ru\/articles\/1073162\/\" rel=\"noopener nofollow\">\u0427\u0430\u0441\u0442\u0438 3<\/a>. \u041e\u0442\u043e\u0437\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u043e\u0442\u0441\u0435\u043a\u0430\u0435\u0442\u0441\u044f <strong>\u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0440\u0443\u043a\u043e\u043f\u043e\u0436\u0430\u0442\u0438\u044f<\/strong>, \u0434\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043d\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0432\u0438\u0434\u0438\u0442 \u043d\u0435 \u0441\u044b\u0440\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u00ab400 Bad Request\u00bb, \u0430 \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0432\u0445\u043e\u0434 \u0441 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435\u043c. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a \u0436\u0435 \u2014 \u0438 \u044d\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e: \u043e\u0431\u0435 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0442 \u043e\u0434\u043d\u043e \u0438 \u0442\u043e \u0436\u0435, \u00ab\u0432\u043e\u0439\u0442\u0438 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c, \u0432\u043e\u0442 \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c\u00bb.<\/p>\n<p><strong>\u0421\u0442\u0440\u043e\u043a\u0430 13<\/strong> \u2014 \u043d\u0435 \u043f\u0440\u043e PKI, \u0430 \u043f\u0440\u043e \u0447\u0435\u0441\u0442\u043d\u043e\u0441\u0442\u044c: \u0441\u0442\u0435\u043d\u0434 \u0436\u0438\u0432\u0451\u0442 \u043d\u0430 \u0445\u043e\u0441\u0442\u0435, \u0433\u0434\u0435 \u0443\u0436\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0439 \u0441\u0430\u0439\u0442 \u0441\u043e \u0441\u0432\u043e\u0438\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u043c \u043f\u0440\u043e\u043a\u0441\u0438 \u043d\u0430 \u043f\u043e\u0440\u0442\u0430\u0445 80 \u0438 443. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0432\u0438\u0436\u043e\u043a \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043d\u0430 <code>8443<\/code>, \u0430 \u0440\u0430\u0437\u0434\u0430\u0447\u0430 CRL \u0438\u0434\u0451\u0442 \u0447\u0435\u0440\u0435\u0437 \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0439 \u043f\u0440\u043e\u043a\u0441\u0438. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442, \u0447\u0442\u043e \u043c\u044b \u043d\u0438\u043a\u043e\u043c\u0443 \u043d\u0435 \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u043b\u0438 \u043d\u0430 \u043d\u043e\u0433\u0443.<\/p>\n<hr\/>\n<h3>\u0418\u0442\u043e\u0433<\/h3>\n<p>\u0426\u0438\u043a\u043b \u0437\u0430\u043c\u043a\u043d\u0443\u043b\u0441\u044f. \u0412\u044b\u043f\u0443\u0441\u043a (\u0427\u0430\u0441\u0442\u044c 1), \u043e\u0442\u0437\u044b\u0432 \u0441 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0435\u0439 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 (\u0427\u0430\u0441\u0442\u044c 2), \u0432\u0445\u043e\u0434 \u043f\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0443 (\u0427\u0430\u0441\u0442\u044c 3) \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u043c \u044d\u0442\u0438\u043c \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 (\u044d\u0442\u0430 \u0447\u0430\u0441\u0442\u044c). \u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u043c\u044b:<\/p>\n<ul>\n<li>\n<p>\u0441\u043e\u0431\u0440\u0430\u043b\u0438 PKCS#10 \u043f\u0440\u044f\u043c\u043e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435, \u043d\u0430 \u0433\u043e\u043b\u043e\u043c WebCrypto \u0438 \u0431\u0435\u0437 \u0435\u0434\u0438\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u2014 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u043c <code>openssl<\/code>, \u0430 \u043d\u0435 \u00ab\u043d\u0430 \u0433\u043b\u0430\u0437\u00bb;<\/p>\n<\/li>\n<li>\n<p>\u043f\u043e\u043d\u044f\u043b\u0438, \u043f\u043e\u0447\u0435\u043c\u0443 \u043a\u043d\u043e\u043f\u043a\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u043d\u0435\u043b\u044c\u0437\u044f \u0434\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0438\u043c\u044f, \u0438 \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0437\u0430\u0449\u0438\u0442\u0430: \u0441\u0443\u0431\u044a\u0435\u043a\u0442 \u0437\u0430\u0434\u0430\u0451\u0442 \u0441\u0435\u0440\u0432\u0435\u0440, \u0430 \u043d\u0435 \u0437\u0430\u044f\u0432\u0438\u0442\u0435\u043b\u044c;<\/p>\n<\/li>\n<li>\n<p>\u0440\u0430\u0437\u0440\u0435\u0437\u0430\u043b\u0438 \u0434\u0432\u0438\u0436\u043e\u043a \u043f\u043e \u0433\u0440\u0430\u043d\u0438\u0446\u0435 \u0434\u043e\u0432\u0435\u0440\u0438\u044f \u2014 \u0432\u0435\u0431-\u0447\u0430\u0441\u0442\u044c \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043d\u0438 \u043a\u043b\u044e\u0447\u0435\u0439 \u0423\u0426, \u043d\u0438 \u0434\u0435\u0440\u0435\u0432\u0430 <code>index.txt<\/code>, \u043d\u0438 \u0434\u0430\u0436\u0435 \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0430 <code>openssl<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438 \u0440\u0430\u0437\u0432\u0438\u043b\u043a\u0438, \u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u0430\u0443\u0434\u0438\u0442\u043e\u043c: \u043e\u0431\u0451\u0440\u0442\u043a\u0430 \u043d\u0430\u0434 <code>openssl<\/code> \u043f\u0440\u043e\u0442\u0438\u0432 \u0441\u0432\u043e\u0435\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 X.509, \u0440\u043e\u043b\u044c \u0432 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0435 \u043f\u0440\u043e\u0442\u0438\u0432 \u0440\u043e\u043b\u0438 \u0432 \u0434\u0432\u0438\u0436\u043a\u0435, <code>copy_extensions<\/code> \u0438 SAN, \u00ab\u044f\u0439\u0446\u043e \u0438 \u043a\u0443\u0440\u0438\u0446\u0430\u00bb \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u0430;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u0442\u0440\u0438 \u0433\u0440\u0430\u0431\u043b\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043b\u043e\u0432\u044f\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0436\u0438\u0432\u043e\u043c \u0441\u0442\u0435\u043d\u0434\u0435, \u2014 \u0438 \u0443\u0431\u0435\u0434\u0438\u043b\u0438\u0441\u044c, \u0447\u0442\u043e \u043f\u043e\u043b\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u043e \u043a\u043e\u043d\u0446\u0430.<\/p>\n<\/li>\n<\/ul>\n<p>\u0427\u0442\u043e \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0437\u0430 \u0440\u0430\u043c\u043a\u0430\u043c\u0438 \u0438 \u043a\u0443\u0434\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435: \u0434\u0435\u043b\u044c\u0442\u0430-CRL, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 OCSP-\u043e\u0442\u0432\u0435\u0442\u0447\u0438\u043a \u0432\u043c\u0435\u0441\u0442\u043e <code>openssl ocsp<\/code>, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0435\u0439 \u0423\u0426 \u0432 HSM \u0438\u043b\u0438 PKCS#11 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u043f\u043e ACME \u0438\u043b\u0438 EST.<\/p>\n<hr\/>\n<h3>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438<\/h3>\n<p>\u0412\u0441\u0451 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u0441\u0432\u0435\u0440\u0435\u043d\u043e \u0441 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439; \u0440\u0435\u0444\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0445 \u0438 \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0445 \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0435\u0442.<\/p>\n<p><strong>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f OpenSSL (\u0432\u0435\u0442\u043a\u0430 master):<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/docs.openssl.org\/master\/man1\/openssl-req\/\" rel=\"noopener nofollow\">openssl-req<\/a> \u2014 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043d\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.openssl.org\/master\/man1\/openssl-genpkey\/\" rel=\"noopener nofollow\">openssl-genpkey<\/a> \u2014 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.openssl.org\/master\/man1\/openssl-ca\/\" rel=\"noopener nofollow\">openssl-ca<\/a> \u2014 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0432\u044b\u043f\u0443\u0441\u043a\u0430, <code>-updatedb<\/code>, <code>copy_extensions<\/code>, <code>-subj<\/code><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.openssl.org\/master\/man1\/openssl-pkcs12\/\" rel=\"noopener nofollow\">openssl-pkcs12<\/a> \u2014 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0434\u043b\u044f \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.openssl.org\/master\/man5\/x509v3_config\/\" rel=\"noopener nofollow\">x509v3_config<\/a> \u2014 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f X.509v3<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.openssl.org\/master\/man5\/config\/\" rel=\"noopener nofollow\">config<\/a> \u2014 \u0444\u043e\u0440\u043c\u0430\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 OpenSSL<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0411\u0440\u0430\u0443\u0437\u0435\u0440:<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.w3.org\/TR\/WebCryptoAPI\/\" rel=\"noopener nofollow\">Web Crypto API<\/a> \u2014 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f W3C: <code>generateKey<\/code>, <code>sign<\/code>, <code>exportKey<\/code><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/SubtleCrypto\" rel=\"noopener nofollow\">MDN \u2014 SubtleCrypto<\/a> \u2014 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u044f \u043a \u043c\u0435\u0442\u043e\u0434\u0430\u043c<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u044b (RFC):<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc2986\" rel=\"noopener nofollow\">RFC 2986<\/a> \u2014 PKCS#10: \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043d\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc5280\" rel=\"noopener nofollow\">RFC 5280<\/a> \u2014 \u043f\u0440\u043e\u0444\u0438\u043b\u044c X.509: \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0438\u043c\u044f, \u0442\u0438\u043f\u044b \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432, \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc6960\" rel=\"noopener nofollow\">RFC 6960<\/a> \u2014 OCSP<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc7292\" rel=\"noopener nofollow\">RFC 7292<\/a> \u2014 PKCS#12<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u043e\u0434 \u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0447\u0430\u0441\u0442\u0438:<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/DidenkoMS\/pkidesk\" rel=\"noopener nofollow\">github.com\/DidenkoMS\/pkidesk<\/a> \u2014 \u0434\u0432\u0438\u0436\u043e\u043a PKIDesk: \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438, \u043a\u043e\u043d\u0444\u0438\u0433\u0438-\u043e\u0431\u0440\u0430\u0437\u0446\u044b, \u043c\u043e\u0434\u0435\u043b\u044c \u0443\u0433\u0440\u043e\u0437 \u0432 <code>SECURITY.md<\/code><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/DidenkoMS\/ssl_article\" rel=\"noopener nofollow\">github.com\/DidenkoMS\/ssl_article<\/a> \u2014 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0446\u0438\u043a\u043b\u0430: \u0434\u0435\u0440\u0435\u0432\u043e \u0423\u0426, \u043a\u043e\u043d\u0444\u0438\u0433\u0438 \u0438 docker-\u043c\u0430\u043a\u0435\u0442<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/325956\/\" rel=\"noopener nofollow\">\u0427\u0430\u0441\u0442\u044c 1. \u0421\u043e\u0437\u0434\u0430\u0451\u043c Root &amp; Intermediate Certificate Authority<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/1073162\/\" rel=\"noopener nofollow\">\u0427\u0430\u0441\u0442\u044c 3. \u0412\u0445\u043e\u0434 \u043f\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u043c\u0443 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0443: \u043f\u0440\u043e\u043a\u0441\u0438 \u0438\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435<\/a> \u2014 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1077772\/\">https:\/\/habr.com\/ru\/articles\/1077772\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0446\u0438\u043a\u043b\u0430. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u044b \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u043b\u0438 \u0434\u0432\u0443\u0445\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443: Root CA \u0438 \u0442\u0440\u0438 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0445 \u0446\u0435\u043d\u0442\u0440\u0430. \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u043d\u0430\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u043e\u0442\u0437\u044b\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b, \u0440\u0430\u0437\u0434\u0430\u0432\u0430\u0442\u044c CRL \u0438 \u043f\u043e\u0434\u043d\u044f\u043b\u0438 OCSP-responder. \u0412 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u0432\u0445\u043e\u0434 \u043f\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u043c\u0443 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0443 \u0432 nginx \u0438 Apache. \u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u0430: \u0430 \u043e\u0442\u043a\u0443\u0434\u0430 \u0443 \u043b\u044e\u0434\u0435\u0439 \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b?\u041f\u043e\u043a\u0430 \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u044f\u044e\u0449\u0438\u043c \u0446\u0435\u043d\u0442\u0440\u043e\u043c \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0447\u0435\u043b\u043e\u0432\u0435\u043a, openssl \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 \u2014 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0432\u0442\u043e\u0440\u043e\u0439 \u0441 \u043f\u0440\u043e\u0441\u044c\u0431\u043e\u0439 \u00ab\u0432\u044b\u043f\u0443\u0441\u0442\u0438 \u043c\u043d\u0435 \u0442\u043e\u0436\u0435\u00bb, \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0442\u043e, \u0440\u0430\u0434\u0438 \u0447\u0435\u0433\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0446\u0435\u043d\u0442\u0440\u044b: \u0437\u0430\u044f\u0432\u043a\u0438, \u0440\u043e\u043b\u0438, \u0436\u0443\u0440\u043d\u0430\u043b \u0438 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441 \u00ab\u043a\u0442\u043e \u0438 \u043d\u0430 \u043a\u0430\u043a\u043e\u043c \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u044d\u0442\u043e \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043b\u00bb. \u0412 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u044b \u043d\u0430\u043f\u0438\u0448\u0435\u043c PKIDesk \u2014 \u0432\u0435\u0431-\u0434\u0432\u0438\u0436\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c\u0438 \u2014 \u0438 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c, \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d \u0443\u0441\u0442\u0440\u043e\u0435\u043d \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a, \u0430 \u043d\u0435 \u043f\u0440\u043e\u0449\u0435.\u0424\u043e\u0440\u043c\u0430\u0442 \u043f\u0440\u0435\u0436\u043d\u0438\u0439: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0437\u0430\u0442\u0435\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u043f\u043e \u0432\u0441\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c \u2014 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044f \u0438 \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0435 \u043a\u0430\u043c\u043d\u0438, \u0441\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0441 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439, \u0430 \u043d\u0435 \u0441 \u0447\u0443\u0436\u0438\u043c\u0438 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0430\u043c\u0438. \u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0437\u0434\u0435\u0441\u044c \u0447\u0435\u0442\u044b\u0440\u0435, \u0432 \u043d\u0438\u0445 237 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432.\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u043b\u043e\u0441\u044c \u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f\u0445. OpenSSL master \u0434\u043b\u044f \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u0432; \u0436\u0438\u0432\u043e\u0439 \u0441\u0442\u0435\u043d\u0434 \u0441\u043e\u0431\u0440\u0430\u043d \u043d\u0430 nginx 1.29.8, OpenSSL 3.3.7 \u0438 Go 1.24. \u0411\u0440\u0430\u0443\u0437\u0435\u0440\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u2014 Web Crypto API \u043f\u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 W3C. \u0413\u0434\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u044e \u043d\u0435 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442, \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445 \u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u043e\u0447\u0435\u0440\u043a \u2014 \u044f \u043d\u0435 \u0443\u0433\u0430\u0434\u044b\u0432\u0430\u044e.\u0412 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438:\u041a\u043d\u043e\u043f\u043a\u0430 \u00ab\u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u00bb: \u043a\u043b\u044e\u0447 \u0440\u043e\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0438 \u043d\u0435 \u043f\u043e\u043a\u0438\u0434\u0430\u0435\u0442 \u0435\u0433\u043e \u2014 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u0442\u0430\u043a\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u0434\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0438\u043c\u044f.\u0414\u0432\u0438\u0436\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c\u0438: \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0440\u0430\u0437\u0432\u0438\u043b\u043a\u0438, \u0438\u0437-\u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043a\u043b\u044e\u0447 \u0423\u0426 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0441 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c.\u0422\u0440\u0438 \u0434\u0435\u0444\u0435\u043a\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u043b\u0435\u0437\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0436\u0438\u0432\u043e\u043c \u0441\u0442\u0435\u043d\u0434\u0435.\u041f\u043e\u043b\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u043d\u0430 \u0436\u0438\u0432\u043e\u043c \u0441\u0442\u0435\u043d\u0434\u0435 \u2014 \u043e\u0442 \u0432\u0445\u043e\u0434\u0430 \u0434\u043e \u043e\u0442\u0437\u044b\u0432\u0430.\u041a\u043e\u0434 \u0434\u0432\u0438\u0436\u043a\u0430: github.com\/DidenkoMS\/pkidesk. \u0414\u0435\u0440\u0435\u0432\u043e \u0423\u0426, \u043a\u043e\u043d\u0444\u0438\u0433\u0438 \u0438 docker-\u043c\u0430\u043a\u0435\u0442 \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0446\u0438\u043a\u043b\u0430: github.com\/DidenkoMS\/ssl_article.\u0428\u0430\u0433 1. \u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0432 \u043e\u0434\u0438\u043d \u043a\u043b\u0438\u043a: \u043a\u043b\u044e\u0447, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043f\u043e\u043a\u0438\u0434\u0430\u0435\u0442 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430: \u0432\u043e\u0439\u0442\u0438 \u043f\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0443 \u043e\u043d \u043d\u0435 \u043c\u043e\u0436\u0435\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0443 \u043d\u0435\u0433\u043e \u0435\u0449\u0451 \u043d\u0435\u0442. \u0417\u0430\u043c\u043a\u043d\u0443\u0442\u044b\u0439 \u043a\u0440\u0443\u0433 \u0440\u0430\u0437\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u00ab\u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u00bb \u2014 \u0438 \u0432\u043e\u0442 \u043e\u043d\u0430-\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0435, \u0447\u0435\u043c \u043a\u0430\u0436\u0435\u0442\u0441\u044f.\u0421\u0430\u043c\u044b\u0439 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u2014 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440: \u043f\u0443\u0441\u0442\u044c \u043e\u043d \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043a\u043b\u044e\u0447, \u0441\u043e\u0431\u0435\u0440\u0451\u0442 PKCS#12 \u0438 \u043e\u0442\u0434\u0430\u0441\u0442 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b. \u0423\u0434\u043e\u0431\u043d\u043e \u2014 \u0438 \u0440\u043e\u0432\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e. \u041a\u043b\u044e\u0447, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c, \u043d\u0430 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u0438\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u043d\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430: \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0447\u0443\u0436\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430, \u0432 \u0442\u0435\u043b\u0435 HTTP-\u043e\u0442\u0432\u0435\u0442\u0430, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u043a\u0441\u0438. \u0414\u043b\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0441 nonRepudiation \u044d\u0442\u043e \u0440\u0430\u0437\u0440\u0443\u0448\u0430\u0435\u0442 \u0441\u0430\u043c\u0443 \u043d\u0435\u043e\u0442\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0441\u0442\u044c: \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043a\u043e\u043f\u0438\u0435\u0439 \u043d\u0435 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u043d\u0438\u043a\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0439, \u0443\u0436\u0435 \u043d\u0435\u043b\u044c\u0437\u044f.\u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u2014 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u044e\u0447 \u0443 \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0440\u043e\u0441. \u041e\u0431\u044b\u0447\u043d\u043e \u044d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u00ab\u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443 \u0434\u0432\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b openssl\u00bb. \u041d\u043e \u0443 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u0432\u0441\u0451 \u043d\u0443\u0436\u043d\u043e\u0435 \u0435\u0441\u0442\u044c: WebCrypto \u0443\u043c\u0435\u0435\u0442 \u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u044e\u0447\u0438, \u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c.1.1. PKCS#10 \u0440\u0443\u043a\u0430\u043c\u0438, \u0431\u0435\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0417\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u2014 \u044d\u0442\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 ASN.1 \u0438\u0437 RFC 2986:CertificationRequest ::= SEQUENCE {    certificationRequestInfo  CertificationRequestInfo,    signatureAlgorithm        AlgorithmIdentifier,    signature                 BIT STRING }CertificationRequestInfo ::= SEQUENCE {    version        INTEGER { v1(0) },    subject        Name,    subjectPKInfo  SubjectPublicKeyInfo,    attributes     [0] IMPLICIT Attributes }\u0412\u0441\u0451 \u044d\u0442\u043e \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u043e\u0442\u043d\u044e \u0441\u0442\u0440\u043e\u043a \u043d\u0430 \u0433\u043e\u043b\u043e\u043c JavaScript, \u0438 \u0432\u043d\u0435\u0448\u043d\u044f\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0437\u0434\u0435\u0441\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u0430 \u2014 \u0447\u0438\u0442\u0430\u0442\u044c RFC \u043f\u043e\u043b\u0435\u0437\u043d\u0435\u0435, \u0447\u0435\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c. \u0414\u0432\u0430 \u043c\u0435\u0441\u0442\u0430, \u0433\u0434\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u0441\u043f\u043e\u0442\u044b\u043a\u0430\u044e\u0442\u0441\u044f:exportKey(&#8216;spki&#8217;) \u0443\u0436\u0435 \u043e\u0442\u0434\u0430\u0451\u0442 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 SubjectPublicKeyInfo \u2014 \u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u043e\u0441\u043b\u043e\u0432\u043d\u043e, \u0430 \u043d\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0437\u0430\u043d\u043e\u0432\u043e.attributes [0] IMPLICIT \u2014 \u043d\u0435 \u00ab\u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u043b\u0435\u00bb: \u043f\u0443\u0441\u0442\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0442\u0435\u0433\u043e\u043c \u0441 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0434\u043b\u0438\u043d\u043e\u0439, \u0430 \u043d\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442. \u0415\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f subjectAltName, \u0442\u0443\u0434\u0430 \u043a\u043b\u0430\u0434\u0451\u0442\u0441\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442 extensionRequest (OID 1.2.840.113549.1.9.14) \u0441 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439.\u041f\u043b\u044e\u0441 \u043e\u0431\u0449\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 DER, \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u0436\u0443\u0442\u0441\u044f \u0432\u0441\u0435: \u0434\u043b\u0438\u043d\u043d\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u0434\u043b\u0438\u043d\u044b, \u0432\u0435\u0434\u0443\u0449\u0438\u0439 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0431\u0430\u0439\u0442 \u0443 INTEGER \u0441\u043e \u0441\u0442\u0430\u0440\u0448\u0438\u043c \u0431\u0438\u0442\u043e\u043c, \u0447\u0438\u0441\u043b\u043e \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0431\u0438\u0442 \u043f\u0435\u0440\u0432\u044b\u043c \u0431\u0430\u0439\u0442\u043e\u043c BIT STRING.\u041a\u043b\u044e\u0447 \u043e\u0431\u044f\u0437\u0430\u043d \u0431\u044b\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d \u0441 extractable: true \u2014 \u0438\u043d\u0430\u0447\u0435 \u0435\u0433\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u0444\u0430\u0439\u043b. \u042d\u0442\u043e \u0447\u0435\u0441\u0442\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0430: \u043b\u044e\u0431\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043c\u043e\u0436\u0435\u0442 \u0435\u0433\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c, \u0438 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0437\u0430\u0449\u0438\u0442\u0430 \u0437\u0434\u0435\u0441\u044c \u2014 \u0441\u0442\u0440\u043e\u0433\u0430\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e (script-src &#8216;self&#8217;) \u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0432\u043e\u043e\u0431\u0449\u0435.\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u0434 \u00ab\u043d\u0430 \u0433\u043b\u0430\u0437\u00bb \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u0435\u0442\u0441\u044f \u0432\u043d\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430: Node \u0434\u0430\u0451\u0442 \u0442\u043e\u0442 \u0436\u0435 WebCrypto, \u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 openssl \u2014 \u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c. \u0414\u0432\u0430\u0434\u0446\u0430\u0442\u044c \u0441\u0435\u043c\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u043a: \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u044b \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430, \u0440\u0430\u0437\u0431\u043e\u0440 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0430 \u0441 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c, subjectAltName \u0432\u0441\u0435\u0445 \u0442\u0438\u043f\u043e\u0432, \u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0446\u0430 \u0432 UTF8String, \u043e\u0442\u043a\u0430\u0437 \u043d\u0430 \u0441\u043b\u0430\u0431\u043e\u043c \u043a\u043b\u044e\u0447\u0435.== CSR \u0431\u0435\u0437 subjectAltName ==  ok    openssl \u043f\u0440\u0438\u043d\u044f\u043b \u0437\u0430\u043f\u0440\u043e\u0441 \u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u044c \u0441\u043e\u0448\u043b\u0430\u0441\u044c  ok    \u0441\u0442\u0440\u0430\u043d\u0430 PrintableString  ok    \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043f\u043e\u0434\u043f\u0438\u0441\u0438 sha256WithRSAEncryption== \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 ==  ok    \u043a\u043b\u044e\u0447 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0443== CSR \u0441 subjectAltName ==  ok    \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 subjectAltName \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u043e  ok    IP-\u0430\u0434\u0440\u0435\u0441\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a: \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 PKCS#10\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u2014 55 \u043f\u043e\u043b\u0435\u0439 (\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 PKCS#10)\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \/ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u041f\u043e \u0443\u043c\u043e\u043b\u0447.\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438 \u043d\u044e\u0430\u043d\u0441\u044bAlgorithmIdentifierAlgorithmIdentifier {ALGORITHM:IOSet } ::= SEQUENCE {     algorithm  ALGORITHM.&amp;id({IOSet}),     parameters ALGORITHM.&amp;Type({IOSet}{@algorithm}) OPTIONAL}\u0437\u043d\u0430\u0447.: SEQUENCE (\u0442\u0435\u0433 0x30): OID + \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b\u2014\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0442\u0438\u043f\u0430 AlgorithmIdentifier \u0438\u0437 X.509: \u0436\u0451\u0441\u0442\u043a\u043e \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0430\u0440\u044b \u00abOID \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u2014 \u0442\u0438\u043f \u0435\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432\u00bb. \u041a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u044b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 AlgorithmIdentifier.\u26a0\ufe0f parameters \u043f\u043e\u043c\u0435\u0447\u0435\u043d OPTIONAL, \u043d\u043e \u00ab\u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442\u00bb \u0438 \u00ab\u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043a\u0430\u043a NULL\u00bb \u2014 \u044d\u0442\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0431\u0430\u0439\u0442\u044b. \u0414\u043b\u044f RSA PKCS#1 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u044f\u0432\u043d\u044b\u0439 NULL, \u0434\u043b\u044f ECDSA \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442; \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u0430\u044f \u0437\u0430\u043c\u0435\u043d\u0430 \u043e\u0434\u043d\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u0438\u043c \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043e\u0442\u043a\u0430\u0437\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0443 \u0441\u0442\u0440\u043e\u0433\u0438\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439.AlgorithmIdentifier (RFC 5280)AlgorithmIdentifier  ::=  SEQUENCE  {     algorithm               OBJECT IDENTIFIER,     parameters              ANY DEFINED BY algorithm OPTIONAL  }\u0437\u043d\u0430\u0447.: SEQUENCE (\u0442\u0435\u0433 0x30): OID + \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b\u2014\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f (1988-\u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441) \u0444\u043e\u0440\u043c\u0430 AlgorithmIdentifier: OID \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0442\u0438\u043f\u0430 ANY DEFINED BY. \u041a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438\u0437 RFC 2986.\u26a0\ufe0f \u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u0438\u0448\u0435\u0442\u0435 \u043e\u0434\u0438\u043d \u043f\u0430\u0440\u0441\u0435\u0440 \u0438 \u0434\u043b\u044f CSR, \u0438 \u0434\u043b\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430, \u043f\u043e\u043c\u043d\u0438\u0442\u0435: \u0442\u0438\u043f \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0431\u0430\u0439\u0442\u043e\u0432, \u043d\u043e \u0432 RFC 2986 \u043e\u043d \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c (AlgorithmIdentifier{{\u2026}}) \u2014 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0435 \u0447\u0438\u0441\u0442\u043e \u043d\u043e\u0442\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0435 \u0438 \u043d\u0430 DER \u043d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442.AttributeAttribute { ATTRIBUTE:IOSet } ::= SEQUENCE {     type   ATTRIBUTE.&amp;id({IOSet}),     values SET SIZE(1\u2026MAX) OF ATTRIBUTE.&amp;Type({IOSet}{@type})}\u0437\u043d\u0430\u0447.: SEQUENCE (\u0442\u0435\u0433 0x30) \u0438\u0437 OID \u0438 SET \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439\u2014\u041e\u0434\u0438\u043d \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430: \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0442\u0438\u043f\u0430 (OID) \u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0442\u0438\u043f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u044d\u0442\u0438\u043c OID \u0447\u0435\u0440\u0435\u0437 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u0438\u043f.\u26a0\ufe0f values \u2014 \u044d\u0442\u043e SET, \u0430 \u043d\u0435 \u043e\u0434\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435: \u0434\u0430\u0436\u0435 \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u044b\u0445 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u0432\u0440\u043e\u0434\u0435 extensionRequest \u0432\u043e\u043a\u0440\u0443\u0433 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430 \u043e\u0431\u0451\u0440\u0442\u043a\u0430 0x31. \u0420\u0430\u0437\u043c\u0435\u0440 SIZE(1\u2026MAX) \u0437\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u0442 \u043f\u0443\u0441\u0442\u043e\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u2014 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0431\u0435\u0437 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u0435\u043d.Attribute (RFC 5280)Attribute               ::= SEQUENCE {      type             AttributeType,      values    SET OF AttributeValue }            \u2013 at least one value is required\u0437\u043d\u0430\u0447.: SEQUENCE (\u0442\u0435\u0433 0x30): OID + SET \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 (\u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u043e\u0434\u043d\u043e\u0433\u043e)\u2014\u041d\u0435\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u0442\u0438\u043f\u0430 Attribute. \u0421\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u043f\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0441 Attribute{} \u0438\u0437 RFC 2986; \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435 \u00ab\u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u00bb \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u043e \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439, \u0430 \u043d\u0435 \u0432 SIZE-\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435.\u26a0\ufe0f \u0412 RFC 5280 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u043c (&#8212; at least one value is required), \u0430 \u043d\u0435 \u043a\u0430\u043a SIZE(1\u2026MAX), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0430\u0432\u0442\u043e\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f \u043f\u0430\u0440\u0441\u0435\u0440\u044b \u043f\u0443\u0441\u0442\u043e\u0439 SET \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u044f\u0442. \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 \u043d\u0435\u043f\u0443\u0441\u0442\u043e\u0442\u0443 \u0441\u0430\u043c\u0438.AttributeTypeAttributeType           ::= OBJECT IDENTIFIER\u0437\u043d\u0430\u0447.: OBJECT IDENTIFIER (\u0442\u0435\u0433 0x06)\u2014\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0437\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u0442\u0438\u043f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, id-at-commonName).\u26a0\ufe0f OID \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0438 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0443, \u0438 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0439 \u0442\u0438\u043f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043e\u0431\u044f\u0437\u0430\u043d\u0430 \u0443\u043c\u0435\u0442\u044c \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0435\u0437\u043d\u0430\u043a\u043e\u043c\u044b\u0435 \u0442\u0438\u043f\u044b \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432, \u0430 \u043d\u0435 \u043f\u0430\u0434\u0430\u0442\u044c \u043d\u0430 \u043d\u0438\u0445.AttributeTypeAndValueAttributeTypeAndValue ::= SEQUENCE {     type     AttributeType,     value    AttributeValue }\u0437\u043d\u0430\u0447.: SEQUENCE (\u0442\u0435\u0433 0x30): OID + \u043e\u0434\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u2014\u041f\u0430\u0440\u0430 \u00ab\u0442\u0438\u043f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 (OID) \u2014 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u00bb. \u0422\u0438\u043f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0438\u043f\u043e\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430; \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u044d\u0442\u043e DirectoryString.\u26a0\ufe0f \u0417\u0434\u0435\u0441\u044c value \u2014 \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (\u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 Attribute \u0438\u0437 PKCS#10, \u0433\u0434\u0435 values \u044d\u0442\u043e SET). \u0422\u0435\u0433 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u043e\u0433\u043e \u0442\u0438\u043f\u0430: 0x13 \u0434\u043b\u044f PrintableString, 0x0C \u0434\u043b\u044f UTF8String, 0x16 \u0434\u043b\u044f IA5String \u2014 \u0435\u0434\u0438\u043d\u043e\u0433\u043e \u00ab\u0441\u0442\u0440\u043e\u043a\u043e\u0432\u043e\u0433\u043e\u00bb \u0442\u0435\u0433\u0430 \u043d\u0435\u0442.AttributeValueAttributeValue          ::= ANY \u2013 DEFINED BY AttributeType\u0437\u043d\u0430\u0447.: \u043b\u044e\u0431\u043e\u0439 ASN.1-\u0442\u0438\u043f, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u044b\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c AttributeType\u2014\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430; \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0442\u0438\u043f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0438\u043f\u043e\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u2014 \u0432 \u043e\u0431\u0449\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e DirectoryString.\u26a0\ufe0f ANY DEFINED BY \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0430\u0440\u0441\u0435\u0440 \u043e\u0431\u044f\u0437\u0430\u043d \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u044b\u0440\u044b\u0435 \u0431\u0430\u0439\u0442\u044b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 PrintableString \u0432 UTF8String \u00ab\u0434\u043b\u044f \u0435\u0434\u0438\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u044f\u00bb \u043c\u0435\u043d\u044f\u0435\u0442 DN \u0438 \u0440\u0430\u0437\u0440\u044b\u0432\u0430\u0435\u0442 \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u043c\u0451\u043d (name chaining) \u0441 \u0443\u0436\u0435 \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u043c\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c\u0438.AttributesAttributes { ATTRIBUTE:IOSet } ::= SET OF Attribute{{ IOSet }}\u0437\u043d\u0430\u0447.: SET OF (\u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0442\u0435\u0433 0x31, \u0432 \u043f\u043e\u043b\u0435 attributes \u0437\u0430\u043c\u0435\u043d\u0451\u043d \u043d\u0430 [0] = 0xA0)\u2014\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u0438\u043f-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440: \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0442\u0438\u043f\u044b \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432.\u26a0\ufe0f SET OF, \u0430 \u043d\u0435 SEQUENCE OF: \u043f\u043e DER (X.690) \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e \u043a\u0430\u043a \u043e\u043a\u0442\u0435\u0442\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438. \u041f\u0435\u0440\u0435\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0438\u043b\u0438 \u043f\u0440\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0439 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u043d\u044f\u0435\u0442 \u0431\u0430\u0439\u0442\u044b \u0438 \u043b\u043e\u043c\u0430\u0435\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u044c; RFC \u043f\u0440\u044f\u043c\u043e \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u0435\u0442 \u043d\u0435 \u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432.CRIAttributesCRIAttributes  ATTRIBUTE  ::= {     \u2026 \u2013 add any locally defined attributes here \u2013 }\u0437\u043d\u0430\u0447.: \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 ATTRIBUTE; \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0430\u0440\u043a\u0435\u0440 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f (\u2026)\u2014\u041d\u0430\u0431\u043e\u0440 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u0437\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0442\u0438\u043f\u044b \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u0412 RFC 2986 \u043f\u0443\u0441\u0442, \u043a\u0440\u043e\u043c\u0435 \u043c\u0430\u0440\u043a\u0435\u0440\u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f.\u26a0\ufe0f \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0430\u043c PKCS#10 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043d\u0438 extensionRequest, \u043d\u0438 challengePassword \u2014 \u043e\u043d\u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u0438\u0437 PKCS #9 (RFC 2985). \u0412\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440, \u0437\u043d\u0430\u044e\u0449\u0438\u0439 \u0442\u043e\u043b\u044c\u043a\u043e RFC 2986, \u043e\u0431\u044f\u0437\u0430\u043d \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-493248","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/493248","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=493248"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/493248\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=493248"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=493248"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=493248"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}