{"id":46866,"date":"2022-12-10T21:42:51","date_gmt":"2023-02-03T12:32:20","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e8%a7%a3%e6%9e%90%e4%bd%bf%e7%94%a8openssl%e5%92%8ckeytool%e5%88%9b%e5%bb%ba%e5%af%86%e9%92%a5%e5%ba%93%e7%9a%84%e8%84%9a%e6%9c%ac%e3%80%82\/"},"modified":"2024-04-29T04:38:05","modified_gmt":"2024-04-28T20:38:05","slug":"%e8%a7%a3%e6%9e%90%e4%bd%bf%e7%94%a8openssl%e5%92%8ckeytool%e5%88%9b%e5%bb%ba%e5%af%86%e9%92%a5%e5%ba%93%e7%9a%84%e8%84%9a%e6%9c%ac%e3%80%82","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e8%a7%a3%e6%9e%90%e4%bd%bf%e7%94%a8openssl%e5%92%8ckeytool%e5%88%9b%e5%bb%ba%e5%af%86%e9%92%a5%e5%ba%93%e7%9a%84%e8%84%9a%e6%9c%ac%e3%80%82\/","title":{"rendered":"\u89e3\u6790\u4f7f\u7528openssl\u548ckeytool\u521b\u5efa\u5bc6\u94a5\u5e93\u7684\u811a\u672c"},"content":{"rendered":"<p>\u6211\u60f3\u4eceKafka\u5ba2\u6237\u7aef\u6267\u884c\u5728\u6ca1\u6709TSL\u3001\u6709TSL\u6216\u8005TSL+\u5ba2\u6237\u7aef\u8bc1\u4e66\u7684\u73af\u5883\u4e0b\u7684\u6d4b\u8bd5\u3002\u53ef\u80fdBitnami\u7684helm\u56fe\u8868\u662f\u6700\u7b80\u5355\u7684\u9009\u9879\uff0c\u6240\u4ee5\u6211\u5e0c\u671b\u80fd\u591f\u7528\u5b83\u6765\u8fdb\u884c\u914d\u7f6e\u3002<\/p>\n<p>\u7136\u800c\uff0c\u6211\u53d1\u73b0\u6211\u5bf9openssl\u548ckeytool\u4e86\u89e3\u4e0d\u591f\u6df1\u5165\uff0c\u6240\u4ee5\u6211\u60f3\u8981\u901a\u8fc7\u7406\u89e3\u5728\u6559\u7a0b\u4e2d\u4f7f\u7528\u7684\u811a\u672c\u4e2d\u6240\u4f7f\u7528\u7684openssl\u548ckeytool\u547d\u4ee4\u6765\u6574\u7406\u81ea\u5df1\u5728\u505a\u4ec0\u4e48\u3002<\/p>\n<h1>\u521b\u5efa CA \u8bc1\u4e66\u548c CA \u7684\u79c1\u94a5<\/h1>\n<p>\u6211\u5df2\u7ecf\u5199\u4e0b\u4e86\u6709\u5173\u8be6\u7ec6\u9009\u9879\u7684\u8bf4\u660e\uff0c\u6b63\u5728\u521b\u5efaCA\u7684\u79c1\u94a5\u548c\u81ea\u7b7e\u540d\u8bc1\u4e66\u3002\u5728\u521b\u5efa\u8fc7\u7a0b\u4e2d\uff0c\u9700\u8981\u5c06\u4ee5\u4e0b\u4fe1\u606f\u586b\u5165\u8bc1\u4e66\uff0c\u5e76\u5728\u6700\u5f00\u59cb\u7684\u65f6\u5019\u88ab\u8be2\u95ee\u8bc1\u4e66\u5bc6\u7801\uff0c\u6211\u5df2\u7ecf\u8f93\u5165\u4e86\u3002\u5e38\u89c1\u540d\u79f0\u901a\u5e38\u4f1a\u586b\u5199\u670d\u52a1\u5668\u7684FQDN\uff0c\u4f46\u8003\u8651\u5230\u8fd9\u662f\u81ea\u7b7e\u540d\u8bc1\u4e66\uff0c\u6240\u4ee5\u6211\u4f1a\u5c06\u81ea\u5df1\u7684\u540d\u5b57\u586b\u5165\u3002<\/p>\n<p>\u7b2c70\u884c<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>openssl req <span class=\"nt\">-new<\/span> <span class=\"nt\">-x509<\/span> <span class=\"nt\">-keyout<\/span> ca-private-key <span class=\"nt\">-out<\/span> ca.crt <span class=\"nt\">-days<\/span> 1000\r\nGenerating a RSA private key\r\n.....................+++++\r\n..............................................+++++\r\nwriting new private key to <span class=\"s1\">'ca-private-key'<\/span>\r\nEnter PEM pass phrase:\r\nVerifying - Enter PEM pass phrase:\r\n<span class=\"nt\">-----<\/span>\r\nYou are about to be asked to enter information that will be incorporated\r\ninto your certificate request.\r\nWhat you are about to enter is what is called a Distinguished Name or a DN.\r\nThere are quite a few fields but you can leave some blank\r\nFor some fields there will be a default value,\r\nIf you enter <span class=\"s1\">'.'<\/span>, the field will be left blank.\r\n<span class=\"nt\">-----<\/span>\r\nCountry Name <span class=\"o\">(<\/span>2 letter code<span class=\"o\">)<\/span> <span class=\"o\">[<\/span>AU]:US\r\nState or Province Name <span class=\"o\">(<\/span>full name<span class=\"o\">)<\/span> <span class=\"o\">[<\/span>Some-State]:Washington\r\nLocality Name <span class=\"o\">(<\/span>eg, city<span class=\"o\">)<\/span> <span class=\"o\">[]<\/span>:Kirkland\r\nOrganization Name <span class=\"o\">(<\/span>eg, company<span class=\"o\">)<\/span> <span class=\"o\">[<\/span>Internet Widgits Pty Ltd]:Simplearchitect\r\nOrganizational Unit Name <span class=\"o\">(<\/span>eg, section<span class=\"o\">)<\/span> <span class=\"o\">[]<\/span>:Main\r\nCommon Name <span class=\"o\">(<\/span>e.g. server FQDN or YOUR name<span class=\"o\">)<\/span> <span class=\"o\">[]<\/span>:tsushi\r\nEmail Address <span class=\"o\">[]<\/span>:MY_EMAIL_HERE\r\n<\/code><\/pre>\n<p>req: \u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u3002PKCS#10 \u306e\u8a3c\u660e\u66f8\u30ea\u30af\u30a8\u30b9\u30c8\u3068\u3001\u8a3c\u660e\u66f8\u3092\u4f5c\u6210\u3059\u308b\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3<\/p>\n<p>-new: \u8a3c\u660e\u66f8\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u4f5c\u6210\u3059\u308b\u3002-key \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u3001RSA \u306e private key\u3092\u4f5c\u6210\u3059\u308b\u3002<\/p>\n<p>-x509: \u8a3c\u660e\u66f8\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u4ee3\u308f\u308a\u306b\u3001\u81ea\u5df1\u7f72\u540d\u8a3c\u660e\u66f8(SelfSignedCertificate) \u3092\u51fa\u529b\u3059\u308b<\/p>\n<p>-keyout: \u65b0\u3057\u304f\u4f5c\u3089\u308c\u305f private key \u3092\u51fa\u529b\u3059\u308b<\/p>\n<p>-out: \u6a19\u6e96\u51fa\u529b\u3092\u30d5\u30a1\u30a4\u30eb\u306b\u51fa\u529b\u3059\u308b\u3002\u3053\u306e\u5834\u5408\u3001-x509\u306e\u9805\u76ee\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u81ea\u5df1\u7f72\u540d\u8a3c\u660e\u66f8\u304c\u51fa\u529b\u3055\u308c\u308b<\/p>\n<p>-days: \u51fa\u529b\u3055\u308c\u308b\u8a3c\u660e\u66f8\u306e\u6709\u52b9\u65e5\u6570\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306f30 \u65e5<\/p>\n<p>\u8bf7\u6ce8\u610f\uff0c\u8fd9\u662f\u901a\u8fc7openssl req\u547d\u4ee4\u6267\u884c\u7684\u64cd\u4f5c\u3002<\/p>\n<h2>\u8f93\u51fa<\/h2>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span><span class=\"nb\">ls\r\n<\/span>ca-private-key  ca.crt\r\n<span class=\"sb\">``<\/span>\r\n\r\n<span class=\"c\"># 2. Ca\u8a3c\u660e\u66f8\u3000\u3092 trust keystore \u306b\u683c\u7d0d<\/span>\r\n1. \u3067\u4f5c\u6210\u3057\u305f\u3001CA\u7528\u306e \u8a3c\u660e\u66f8\u3092 Keystore \u306b\u5165\u308c\u308b\u3002<span class=\"sb\">`<\/span>openssl<span class=\"sb\">`<\/span> \u3068 <span class=\"sb\">`<\/span>keytool<span class=\"sb\">`<\/span> \u306f\u3084\u308c\u308b\u3053\u3068\u304c\u30aa\u30fc\u30d0\u30fc\u30e9\u30c3\u30d7\u3057\u3066\u3084\u3084\u3053\u3057\u3044\u304c\u3001<span class=\"sb\">`<\/span>keytool<span class=\"sb\">`<\/span> \u3057\u304b\u3067\u304d\u306a\u3044\u3053\u3068\u306b\u3001KeyStore\u306e\u4f5c\u6210\u304c\u3042\u308b\u3002KeyStore \u306f\u8a3c\u660e\u66f8\u3092\u30a8\u30a4\u30ea\u30a2\u30b9\u3092\u3064\u3051\u3066\u683c\u7d0d\u3067\u304d\u305f\u308a\u3001\u53d6\u308a\u51fa\u305b\u305f\u308a\u3059\u308b\u30ad\u30fc\u30b9\u30c8\u30a2\u3060\u3002Java \u306e\u30a8\u30b3\u30b7\u30b9\u30c6\u30e0\u3067\u3088\u304f\u4f7f\u308f\u308c\u308b\u3002Kafa\u3082\u3001Java\u3067\u4f5c\u3089\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u3053\u308c\u3092\u53c2\u7167\u3059\u308b\u306e\u3060\u3068\u601d\u3046\u3002\u305f\u3060\u3001\u4ed6\u306e\u8a00\u8a9e\u304c\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u5834\u5408\u306f\u3001KeyStore\u3092\u4f7f\u308f\u306a\u3044\u5834\u5408\u304c\u591a\u3044\u3068\u601d\u3046\u306e\u3067\u3001\u7406\u5c48\u3092\u77e5\u3063\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308b\u3002\u5b9f\u884c\u6642\u306b1.\u3067\u805e\u304b\u308c\u305f\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u805e\u304b\u308c\u308b\r\n\r\n_Line 92_\r\n\r\n<span class=\"sb\">```<\/span>bash\r\nkeytool <span class=\"nt\">-keystore<\/span> kafka.truststore.jks <span class=\"nt\">-alias<\/span> CARoot <span class=\"nt\">-import<\/span> <span class=\"nt\">-file<\/span> ca.crt \r\n<\/code><\/pre>\n<p>-import: \u30b5\u30d6\u30b3\u30de\u30f3\u30c9 importcert\u3068\u540c\u69d8\u3002\u8a3c\u660e\u66f8\u304b\u8a3c\u660e\u66f8\u30c1\u30a7\u30fc\u30f3 (PKCS#7 reply \u304b X.509\u8a3c\u660e\u66f8)\u3092\u8aad\u307f\u8fbc\u3093\u3067\u30ad\u30fc\u30b9\u30c8\u30a2\u306b\u5165\u308c\u308b\u3002<\/p>\n<p>-keystore: \u30ad\u30fc\u30b9\u30c8\u30a2\u3002\u306a\u3051\u308c\u3070\u4f5c\u6210\u3055\u308c\u308b\u3002<\/p>\n<p>-alias: \u30b9\u30c8\u30a2\u3055\u308c\u308b\u30a8\u30f3\u30c6\u30a4\u30c6\u30a3\uff08\u8a3c\u660e\u66f8\uff09\u306e\u30a8\u30a4\u30ea\u30a2\u30b9<\/p>\n<p>-file: \u8aad\u307f\u8fbc\u3080\u8a3c\u660e\u66f8<\/p>\n<h2>\u4ea7\u51fa<\/h2>\n<p>\u6709\u4e00\u4e2a\u65b0\u7684\u5bc6\u94a5\u5e93\u88ab\u521b\u5efa\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span><span class=\"nb\">ls\r\n<\/span>ca-private-key  ca.crt  kafka.truststore.jks\r\n<\/code><\/pre>\n<h1>3. \u751f\u6210\u5bc6\u94a5\u5bf9\u548c\u8bc1\u4e66\uff0c\u5e76\u5b58\u50a8\u5230\u5bc6\u94a5\u5e93\u4e2d\u3002<\/h1>\n<p>\u8fd9\u91cc\u6240\u8bf4\u7684\u8bc1\u4e66\uff0c\u662f\u6307\u88abCA\u8bc1\u4e66\u7b7e\u540d\u540e\u5c06\u8981\u7528\u4e8e\u5b58\u50a8\u4e8e\u670d\u52a1\u5668\u7b49\u7528\u9014\u7684\u8bc1\u4e66\u3002<\/p>\n<p>\u7b2c144\u884c<\/p>\n<pre class=\"post-pre\"><code>keytool <span class=\"nt\">-keystore<\/span> kafka.keystore.jks <span class=\"nt\">-alias<\/span> localhost <span class=\"nt\">-validity<\/span> 1000 <span class=\"nt\">-genkey<\/span> <span class=\"nt\">-keyalg<\/span> RSA\r\nEnter keystore password:  \r\nRe-enter new password: \r\nWhat is your first and last name?\r\n  <span class=\"o\">[<\/span>Unknown]:  Tsuyoshi Ushio\r\nWhat is the name of your organizational unit?\r\n\r\nWhat is the name of your organization?\r\n\r\nWhat is the name of your City or Locality?\r\n\r\nWhat is the name of your State or Province?\r\n\r\nWhat is the two-letter country code <span class=\"k\">for <\/span>this unit?\r\n\r\nIs <span class=\"nv\">CN<\/span><span class=\"o\">=<\/span>Tsuyoshi Ushio, <span class=\"nv\">OU<\/span><span class=\"o\">=<\/span>Simplearchitect, <span class=\"nv\">O<\/span><span class=\"o\">=<\/span>Main, <span class=\"nv\">L<\/span><span class=\"o\">=<\/span>Kirkland, <span class=\"nv\">ST<\/span><span class=\"o\">=<\/span>Washington, <span class=\"nv\">C<\/span><span class=\"o\">=<\/span>US correct?\r\n\r\n<\/code><\/pre>\n<p>-genkey: \u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u3002 -genkeypair \u3068\u540c\u69d8\u3002Key Pair (Private\/Public key) \u3068\u3001X.509 \u306e\u81ea\u5df1\u8a3c\u660e\u66f8\u304c\u3001\u8a3c\u660e\u66f8\u30c1\u30a7\u30fc\u30f3\u3068\u3057\u3066\u30b9\u30c8\u30a2\u3055\u308c\u308b\u3002<\/p>\n<p>-validity: \u6709\u52b9\u65e5\u6570<\/p>\n<p>-keyalg: \u30ad\u30fc\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u540d<\/p>\n<h2>\u8f93\u51fa<\/h2>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span><span class=\"nb\">ls\r\n<\/span>ca-private-key  ca.crt  kafka.keystore.jks  kafka.truststore.jks\r\n<\/code><\/pre>\n<h1>\u4ece\u5bc6\u94a5\u5e93\u4e2d\u63d0\u53d6CA\u8bc1\u4e66\u3002<\/h1>\n<p>\u7b2c157\u884c<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>keytool <span class=\"nt\">-keystore<\/span> kafka.truststore.jks <span class=\"nt\">-export<\/span> <span class=\"nt\">-alias<\/span> CARoot <span class=\"nt\">-rfc<\/span> <span class=\"nt\">-file<\/span> ca.crt.exported\r\nEnter keystore password:  \r\nCertificate stored <span class=\"k\">in <\/span>file &lt;ca.crt.exported&gt;\r\n<\/code><\/pre>\n<p>\u7531\u4e8e\u6765\u81eaKeyStore\u7684CA\u8bc1\u4e66\u662f\u76f8\u540c\u7684\uff0c\u53ea\u662f\u7a7a\u683c\u4e0d\u540c\uff0c\u6240\u4ee5\u5728diff\u547d\u4ee4\u540e\u52a0\u4e0a-b\u9009\u9879\u6765\u6bd4\u8f83\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ls<\/span>\r\nca-private-key  ca.crt  ca.crt.exported  kafka.keystore.jks  kafka.truststore.jks\r\n<span class=\"nv\">$diff<\/span> ca.crt ca.crt.exported <span class=\"nt\">-b<\/span>\r\n<\/code><\/pre>\n<h1>\u83b7\u53d6\u8bc1\u4e66\u7b7e\u540d\u8bf7\u6c42<\/h1>\n<p>\u6211\u4eec\u5c06\u5bf9\u521a\u624d\u5728\u6b65\u9aa43\u521b\u5efa\u7684\u81ea\u7b7e\u540d\u8bc1\u4e66\u8fdb\u884c\u7b7e\u540d\u8bf7\u6c42\u3002<\/p>\n<p>\u7b2c163\u884c<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>keytool <span class=\"nt\">-keystore<\/span> kafka.keystore.jks <span class=\"nt\">-alias<\/span> localhost <span class=\"nt\">-certreq<\/span> <span class=\"nt\">-file<\/span> cert-sign-request\r\n<\/code><\/pre>\n<h2>\u4ea7\u51fa<\/h2>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ls<\/span>\r\nca-private-key  ca.crt  ca.crt.exported  cert-sign-request  kafka.keystore.jks  kafka.truststore.jks\r\n<\/code><\/pre>\n<h1>\u7528CA\u79c1\u94a5\u5bf9\u8bc1\u4e66\u8fdb\u884c\u7b7e\u540d<\/h1>\n<p>\u7b2c170\u884c<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>openssl x509 <span class=\"nt\">-req<\/span> <span class=\"nt\">-CA<\/span> ca.crt <span class=\"nt\">-CAkey<\/span> ca-private-key <span class=\"nt\">-in<\/span> cert-sign-request <span class=\"nt\">-out<\/span> signed.crt <span class=\"nt\">-days<\/span> 1000 <span class=\"nt\">-CAcreateserial<\/span>\r\nSignature ok\r\n<span class=\"nv\">subject<\/span><span class=\"o\">=<\/span>C <span class=\"o\">=<\/span> US, ST <span class=\"o\">=<\/span> Washington, L <span class=\"o\">=<\/span> Kirkland, O <span class=\"o\">=<\/span> Main, OU <span class=\"o\">=<\/span> Simplearchitect, CN <span class=\"o\">=<\/span> Tsuyoshi Ushio\r\nGetting CA Private Key\r\nEnter pass phrase <span class=\"k\">for <\/span>ca-private-key:\r\n<\/code><\/pre>\n<p>x509: \u8a3c\u660e\u66f8\u306e\u30b5\u30a4\u30f3\u3068\u8868\u793a\u306e\u305f\u3081\u306e\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3<\/p>\n<p>-out: \u6a19\u6e96\u51fa\u529b\u304b\u3089\u8aad\u307f\u8fbc\u307f\u3092\u884c\u3046<\/p>\n<p>-CA: CA \u8a3c\u660e\u66f8\u3092\u6307\u5b9a\u3059\u308b<\/p>\n<p>-CaKey: CA \u306e Private Key \u3092\u6307\u5b9a\u3059\u308b<\/p>\n<p>-req: \u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f\u3001\u6a19\u6e96\u5165\u529b\u304b\u3089\u8a3c\u660e\u66f8\u3092\u8aad\u307f\u8fbc\u3080\u304c\u3001\u4ee3\u308f\u308a\u306b\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u8aad\u307f\u8fbc\u3080<\/p>\n<p>-CAcreateserial: CA\u30b7\u30ea\u30a2\u30eb\u30ca\u30f3\u30d0\u30fc\u30d5\u30a1\u30a4\u30eb\u304c\u51fa\u529b\u3055\u308c\u308b\uff08\u4f7f\u7528\u304c\u63a8\u5968\u3055\u308c\u308b\uff09<\/p>\n<h2>\u4ea7\u51fa<\/h2>\n<p>\u8f93\u51fa\u4e86\u88ab\u7b7e\u540d\u7684\u8bc1\u4e66\u3002\u6b64\u5916\uff0cCA\u7684\u5e8f\u5217\u6587\u4ef6 ca.srl \u4e5f\u5df2\u8f93\u51fa\u3002<\/p>\n<pre class=\"post-pre\"><code>ca-private-key  ca.crt  ca.crt.exported  ca.srl  cert-sign-request  kafka.keystore.jks  kafka.truststore.jks  signed.crt\r\n<\/code><\/pre>\n<h1>\u628a CA \u8bc1\u4e66\u653e\u5165\u5bc6\u94a5\u5e93\u4e2d<\/h1>\n<p>\u7b2c180\u884c<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>keytool <span class=\"nt\">-keystore<\/span> kafka.keystore.jks <span class=\"nt\">-alias<\/span> CARoot <span class=\"nt\">-import<\/span> <span class=\"nt\">-file<\/span> ca.crt\r\n<\/code><\/pre>\n<p>\u5728\u811a\u672c\u4e2d\uff0c\u63a5\u4e0b\u6765\u5c06\u5220\u9664CA\u8bc1\u4e66\u3002\u56e0\u4e3a\u5b83\u53ef\u4ee5\u4ece\u5bc6\u94a5\u5e93\u4e2d\u83b7\u53d6\u3002<\/p>\n<h1>\u5c06\u7b7e\u7f72\u7684\u8bc1\u4e66\u5b58\u50a8\u5230\u5bc6\u94a5\u5de5\u5177\u4e2d<\/h1>\n<p>\u7b2c188\u884c<\/p>\n<pre class=\"post-pre\"><code>keytool <span class=\"nt\">-keystore<\/span> kafka.keystore.jks <span class=\"nt\">-alias<\/span> localhost <span class=\"nt\">-import<\/span> <span class=\"nt\">-file<\/span> signed.crt\r\n<\/code><\/pre>\n<h1>\u603b\u7ed3<\/h1>\n<p>\u811a\u672c\u53ef\u4ee5\u77ac\u95f4\u751f\u6210\uff0c\u7531\u4e8e\u672a\u80fd\u5bf9keystore\u8fdb\u884c\u4e86\u89e3\uff0c\u6211\u4e00\u5ea6\u4e0d\u77e5\u8be5\u5982\u4f55\u505a\u624d\u597d\u3002\u4f46\u662f\uff0c\u7ecf\u8fc7\u5168\u90e8\u5206\u6790\u540e\uff0c\u6211\u6700\u7ec8\u7406\u89e3\u4e86keytool\u548copenssl\u547d\u4ee4\uff0c\u5305\u62ec\u80cc\u666f\u77e5\u8bc6\u3002<\/p>\n<h1>\u8d44\u6e90<\/h1>\n<p>\u9664\u4e86\u4e0b\u9762\u7684\u5185\u5bb9\u4e4b\u5916\uff0c\u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7\u8fd0\u884c\u547d\u4ee4\u201cman openssl &lt;\u5b50\u547d\u4ee4&gt;\u201d\u6765\u627e\u5230\u4e00\u4e2a\u5f88\u597d\u7684\u624b\u518c\u3002<\/p>\n<p>keytool \u53e4\u3044\u306e\u3067\u53e4\u3044\u540d\u524d\u304c\u53c2\u7167\u3055\u308c\u3066\u3044\u308b(e.g. -import)<br \/>\nkeytool common options<br \/>\nA Java \u201ckeytool genkey\u201d example<\/p>\n<p>openssl \u30b3\u30de\u30f3\u30c9\u306e\u4f7f\u3044\u65b9 \u304b\u306a\u308a\u826f\u3044 openssl \u306e\u4f7f\u3044\u65b9<br \/>\nJava \u201ckeytool import\u201d: How to import a certificate into a keystore file<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6211\u60f3\u4eceKafka\u5ba2\u6237\u7aef\u6267\u884c\u5728\u6ca1\u6709TSL\u3001\u6709TSL\u6216\u8005TSL+\u5ba2\u6237\u7aef\u8bc1\u4e66\u7684\u73af\u5883\u4e0b\u7684\u6d4b\u8bd5\u3002\u53ef\u80fdBitnami\u7684he [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-46866","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u89e3\u6790\u4f7f\u7528openssl\u548ckeytool\u521b\u5efa\u5bc6\u94a5\u5e93\u7684\u811a\u672c - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u89e3\u6790\u4f7f\u7528openssl\u548ckeytool\u521b\u5efa\u5bc6\u94a5\u5e93\u7684\u811a\u672c\u3002\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u89e3\u6790\u4f7f\u7528openssl\u548ckeytool\u521b\u5efa\u5bc6\u94a5\u5e93\u7684\u811a\u672c\" \/>\n<meta property=\"og:description\" content=\"\u6211\u60f3\u4eceKafka\u5ba2\u6237\u7aef\u6267\u884c\u5728\u6ca1\u6709TSL\u3001\u6709TSL\u6216\u8005TSL+\u5ba2\u6237\u7aef\u8bc1\u4e66\u7684\u73af\u5883\u4e0b\u7684\u6d4b\u8bd5\u3002\u53ef\u80fdBitnami\u7684he [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u89e3\u6790\u4f7f\u7528openssl\u548ckeytool\u521b\u5efa\u5bc6\u94a5\u5e93\u7684\u811a\u672c\u3002\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-03T12:32:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-28T20:38:05+00:00\" \/>\n<meta name=\"author\" content=\"\u97f5, \u79d1\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u97f5, \u79d1\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e8%a7%a3%e6%9e%90%e4%bd%bf%e7%94%a8openssl%e5%92%8ckeytool%e5%88%9b%e5%bb%ba%e5%af%86%e9%92%a5%e5%ba%93%e7%9a%84%e8%84%9a%e6%9c%ac%e3%80%82\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e8%a7%a3%e6%9e%90%e4%bd%bf%e7%94%a8openssl%e5%92%8ckeytool%e5%88%9b%e5%bb%ba%e5%af%86%e9%92%a5%e5%ba%93%e7%9a%84%e8%84%9a%e6%9c%ac%e3%80%82\/\",\"name\":\"\u89e3\u6790\u4f7f\u7528openssl\u548ckeytool\u521b\u5efa\u5bc6\u94a5\u5e93\u7684\u811a\u672c - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-02-03T12:32:20+00:00\",\"dateModified\":\"2024-04-28T20:38:05+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e8%a7%a3%e6%9e%90%e4%bd%bf%e7%94%a8openssl%e5%92%8ckeytool%e5%88%9b%e5%bb%ba%e5%af%86%e9%92%a5%e5%ba%93%e7%9a%84%e8%84%9a%e6%9c%ac%e3%80%82\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e8%a7%a3%e6%9e%90%e4%bd%bf%e7%94%a8openssl%e5%92%8ckeytool%e5%88%9b%e5%bb%ba%e5%af%86%e9%92%a5%e5%ba%93%e7%9a%84%e8%84%9a%e6%9c%ac%e3%80%82\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e8%a7%a3%e6%9e%90%e4%bd%bf%e7%94%a8openssl%e5%92%8ckeytool%e5%88%9b%e5%bb%ba%e5%af%86%e9%92%a5%e5%ba%93%e7%9a%84%e8%84%9a%e6%9c%ac%e3%80%82\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u89e3\u6790\u4f7f\u7528openssl\u548ckeytool\u521b\u5efa\u5bc6\u94a5\u5e93\u7684\u811a\u672c\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e\",\"name\":\"\u97f5, \u79d1\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g\",\"caption\":\"\u97f5, \u79d1\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunke\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e8%a7%a3%e6%9e%90%e4%bd%bf%e7%94%a8openssl%e5%92%8ckeytool%e5%88%9b%e5%bb%ba%e5%af%86%e9%92%a5%e5%ba%93%e7%9a%84%e8%84%9a%e6%9c%ac%e3%80%82\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u89e3\u6790\u4f7f\u7528openssl\u548ckeytool\u521b\u5efa\u5bc6\u94a5\u5e93\u7684\u811a\u672c - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u89e3\u6790\u4f7f\u7528openssl\u548ckeytool\u521b\u5efa\u5bc6\u94a5\u5e93\u7684\u811a\u672c\u3002\/","og_locale":"zh_CN","og_type":"article","og_title":"\u89e3\u6790\u4f7f\u7528openssl\u548ckeytool\u521b\u5efa\u5bc6\u94a5\u5e93\u7684\u811a\u672c","og_description":"\u6211\u60f3\u4eceKafka\u5ba2\u6237\u7aef\u6267\u884c\u5728\u6ca1\u6709TSL\u3001\u6709TSL\u6216\u8005TSL+\u5ba2\u6237\u7aef\u8bc1\u4e66\u7684\u73af\u5883\u4e0b\u7684\u6d4b\u8bd5\u3002\u53ef\u80fdBitnami\u7684he [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u89e3\u6790\u4f7f\u7528openssl\u548ckeytool\u521b\u5efa\u5bc6\u94a5\u5e93\u7684\u811a\u672c\u3002\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-02-03T12:32:20+00:00","article_modified_time":"2024-04-28T20:38:05+00:00","author":"\u97f5, \u79d1","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u97f5, \u79d1","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"3 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e8%a7%a3%e6%9e%90%e4%bd%bf%e7%94%a8openssl%e5%92%8ckeytool%e5%88%9b%e5%bb%ba%e5%af%86%e9%92%a5%e5%ba%93%e7%9a%84%e8%84%9a%e6%9c%ac%e3%80%82\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e8%a7%a3%e6%9e%90%e4%bd%bf%e7%94%a8openssl%e5%92%8ckeytool%e5%88%9b%e5%bb%ba%e5%af%86%e9%92%a5%e5%ba%93%e7%9a%84%e8%84%9a%e6%9c%ac%e3%80%82\/","name":"\u89e3\u6790\u4f7f\u7528openssl\u548ckeytool\u521b\u5efa\u5bc6\u94a5\u5e93\u7684\u811a\u672c - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-02-03T12:32:20+00:00","dateModified":"2024-04-28T20:38:05+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e8%a7%a3%e6%9e%90%e4%bd%bf%e7%94%a8openssl%e5%92%8ckeytool%e5%88%9b%e5%bb%ba%e5%af%86%e9%92%a5%e5%ba%93%e7%9a%84%e8%84%9a%e6%9c%ac%e3%80%82\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e8%a7%a3%e6%9e%90%e4%bd%bf%e7%94%a8openssl%e5%92%8ckeytool%e5%88%9b%e5%bb%ba%e5%af%86%e9%92%a5%e5%ba%93%e7%9a%84%e8%84%9a%e6%9c%ac%e3%80%82\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e8%a7%a3%e6%9e%90%e4%bd%bf%e7%94%a8openssl%e5%92%8ckeytool%e5%88%9b%e5%bb%ba%e5%af%86%e9%92%a5%e5%ba%93%e7%9a%84%e8%84%9a%e6%9c%ac%e3%80%82\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u89e3\u6790\u4f7f\u7528openssl\u548ckeytool\u521b\u5efa\u5bc6\u94a5\u5e93\u7684\u811a\u672c"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e","name":"\u97f5, \u79d1","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g","caption":"\u97f5, \u79d1"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunke\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e8%a7%a3%e6%9e%90%e4%bd%bf%e7%94%a8openssl%e5%92%8ckeytool%e5%88%9b%e5%bb%ba%e5%af%86%e9%92%a5%e5%ba%93%e7%9a%84%e8%84%9a%e6%9c%ac%e3%80%82\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/46866","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=46866"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/46866\/revisions"}],"predecessor-version":[{"id":82361,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/46866\/revisions\/82361"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=46866"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=46866"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=46866"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}