收藏 分销(赏)

电子商务安全与支付(微课版第2版)-实验指导-数字证书.docx

上传人:二*** 文档编号:4763944 上传时间:2024-10-12 格式:DOCX 页数:18 大小:152.15KB
下载 相关 举报
电子商务安全与支付(微课版第2版)-实验指导-数字证书.docx_第1页
第1页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、数字证书实验实验主要内容:(1) CA数字证书创立(2)创立被签发数字证书(3)使用JAVA程序签发数字证书(4)数字证书签名后的发布一、CA数字证书的创立实例说明:本实例使用J2SDK提供的keytool工具用RSA算法在指定的密钥库mykeystore中创立 公钥/私钥对和证书,并将证书导出到证书文件,设置此证书为CA证书。运行程序:1.用RSA算法在指定的密钥库mykeystore中创立公钥/私钥对和证书在命令行中输入 keytool -genkey -alias mycacert -keyalg RSA -keysize 1024-keystore mykeystore -validi

2、ty 7C:keytool genkey alias mycacert -keyalg RSA keysize 1024 -keystore mykeysto re -validity 7 输入keystore密码:123456标的名字与姓氏是什么?Unknown: wang zhihui您的组织单位名称重什么?.Unknown: grid security center您的组织名称是什么?Unknown: dlut您所在的城市或区域名称是什么?Unknown: dalian您所在的州或省份名称是什么?Unknown: liaoning该单位的两字母国家代码是什么Unknown: cnCN=w

3、ang zhihui, 0U=grid security center, 0=dlut, L=dalian ST=liaoning, C=cn 7-F 确吗?否L y输入_该操作将使用RSA算法生成1024位的公钥/私钥对及证书,密钥长度为1024位,证书证书常规详细信息证书路径证书信息证书信息该CA根证书不受信任.要启用信任,话将该证书安 装到受信任的根证书假发机构存鬲箧发给:wzh箧发者:wzh有效起始日期2007-4-7到2007-4-14安装证书二71点击“证书”中的证书路径,显示信息如下:证书常规详细信息证书路径证书状态):由于不在受信任的根证书颁发机构存储中 这个CA根证书不受信

4、任。确定三、使用Java程序签发数字证书实例说明:本实例使用上面确定的CA“wang zhihui”(证书文件为mycacert.cer)对证书“wzh”(证 书文件为mycert.cer)进行签发,该实例使我们对一些知名的证书签发机构(如Verisign) 的CA是如何签发证书的有一个实际的了解。 编程思路:CA签发数字证书应该使用自己的私钥,CA自身的证书中并不包含私钥信息,因此需 要从密钥库mykeystore中提取。此外,由于被签发的证书还需要知道CA的名字,这可以 从CA的证书中获得。签发证书实际上是创立了一个新的证书,本实例使用J2SDK内部使用的 包中的X509CertImpl类

5、来创立新的证书,该类的构造器中传入有关新的证书的各种信息,主要信息来自被签发的mycert.cer,只是对某些必须修改的信息如序列号,有效期,签发者等进行重新设置。最后使用X509CertImpl类的sign()方法用CA的私钥签名。可以打印新的证书信息,也可以将其保存在密钥库中。 代码与分析:完整代码如下:import java.io.*;import java.security.*;import java.security.cert.*;import java.util.*;import java.math.*;import sun.security.x509.*;public class

6、 SignCertpublic static void main(String args ) throws Exception char storepass= 123456.toCharArray();char cakeypass=nabcdefg.toCharArray();String alias=mycacertn;String name=,mykeystoren;/ 签发者 Cert of CAmycacertFilelnputStream in=new FilelnputStream(name);KeyStore ks=KeyStore.getInstance(nJKS ”);ks.

7、load(in,storepass);java.security.cert.Certificate c 1 =ks.getCertificate(alias);PrivateKey caprk=(PrivateKey)ks.getKey(alias,cakeypass); in.close();得到签发者byte encod 1 =c 1 .getEncoded();X509CertImpl cimpl=new X509CertImpl(encod 1);X509CertInfo cinfo 1 =(X509CertInfo)cimp 1 .get(X509CertImpl.NAME+ ,*/

8、+X509CertImpl.INFO);X500Name issuer=(X500Name)cinfo 1 .get(X509CertInfo.SUBJECT+ n.n+CertificateIssuerName.DN_NAME);/ Cert of 被签发者mycertCertificateFactory cf=CertificateFactory.getInstance(HX.509n);FilelnputStream in2=new FileInputStream(argsfO);java.security.cert.Certificate c2=cf.generateCertifica

9、te(in2);in2.close();byte encod2=c2.getEncoded();X509CertImpl cimp2=new X509CertImpl(encod2);X509CertInfo cinfo2=(X509CertInfo)cimp2.get(X509CertImpLNAME4-n/+X509CertImpl.INFO);/设置新证书有效期Date begindate =new Date();/60 dayDate enddate =new Date(begindate.getTime()+3000*24*60*60* 1OOOL);Certificate Vali

10、dity cv=new Certificate Validity(begindate,enddate);cinfo2.set(X509CertInfo.VALIDITY,cv);设置新证书序列号int sn=(int)(begindate.getTime()/lOOO);CertificateSerialNumber csn二new CertificateSerialNumber(sn);cinfo2.set(X509CertInfo.SERIAL_NUMBER,csn);设置新证书签发者cinfo2.set(X509CertInfo.ISSUER+M.n+CertificateIssuerN

11、ame.DN_NAME,issuer);设置新证书算法Algorithmic! algorithm =new AlgorithmId(AlgorithmId.md5WithRSAEncryption_oid);cinfo2.set(CertificateAlgorithmId.NAME+n.n+CertificateAlgorithmId.ALGORITHM, algorithm);/创立证书X509CertImpl newcert=new X509CertImpl(cinfo2);/签名newcert.sign(caprk,nMD5WithRSAn);System.out.println(n

12、ewcert);/将签名后的证书signcert存入密钥库ks.setCertificateEntry(HsigncertH, newcert);/*PrivateKey prk=(PrivateKey)ks.getKey(nlfnwshr.utn.toCharArray();java.security.cert.Certificate cchain=newcert;ks.setKeyEntry(nlf_signedH,prk, nnewpassn.toCharArray(),cchain);*/FileOutputStream out=new FileOutputStream(nmykeys

13、toren);ks.store(out,n123456M.toCharArray();out.close();)运行程序:将上面的代码保存为SignCert.java文件,编译并输入“java SignCert mycert”运行程序, 此程序的输入参数是被签发的证书文件名。运行结果如以下图所示。:jauac SignCert.jauaC:java SignCert mycert.cer Uersion: UISubject : CN=wzhJ, OU =grid security center, O=dlut, L=dalian, ST=liaoning C= cnSignature Alg

14、orithm:Key: Sun RSA public key, 1024 bitsmodulus:public exponent: 65537Ualidity: From: Sat Apr 07 20:39:38 CST 2007,To: Wed Jun 24 20:39:38 CST 2015Issuer: CN=wang zhihui, OU=grid security center, O=dlut, L=dalian, ST = liaoning,C=cnSerialNunber: 4617910aAlgorithm: LMD5withRSASignature:0000:4B8592EC

15、20E5B44395230DE751D685AEKC.tt.Q0010:7FE014943F7521FF2F2F8F441652992C.?u?./.DR,0020:0A7DC90C6579A79B5C404505A90DC07F.ey. 7?E.0030:F4D656BFC40420DF5826DAACD76E2C73.U. .X& n0040:F5D2DD8ADE676A677932057EDADF8BIDq.iqy2.0050:21D924719025CA836cFFFFB4ACE581F3?-$q-Z.1 ,0060:1AC16D005D3156D5388511648B39D725.n

16、.lU.8.d.9.x0070:B4458BA017D8562B62FC42A245E2488FE.H.或输入“java SignCert mycertsigncert.txt,运行程序,输出结果已重定向到文件signcert.txt文件中,翻开文件可以看到有关新证书的信息、。JM C:signcert. txt - Votepad2文件9 编辑起)视图9 工具0)帮助国)可11品亳言弟0kQ0060:FCB5DOOCB1015921F0EC6BB54C333AA3V?.k.L3:.0070:A59A161EB99BCOFFE77B12A711DBA84Fw. 0将签名后的数字证书signce

17、rt从密钥库中导出到证书文件signcert.cero在命令行中输 入如卜命令 u keytool -export -alias signcert -keystore mykeystore -storepass 123456 -file signcert.cer -rfc ”C:jaua SignCert nycert.cer signcert-txtC:keytool -export -alias signcert -keystore mykeystore -storepass 123456 -file signcert.cer -rfc保存在文件中的认证CA通常将签名过的证书文件以e-ma

18、il的形式发送给对方,也可以用windows的记事本翻开该证书文件,将其编码内容通过e-mail或web等方式发布。其他人只要将其文本粘贴下来,保存到文件名以.cer为后缀的文本文件中即可。该证书内容如下图:j C:signcert. cer - Votepad2文件9编辑也)视图9工具 帮助QDH a4Q国坐BEGIN CERTIFICATEMIICUTCCAb4CBEYXkwswDQVJKoZIhucNAQEEBQAudTELMAkGA1UEBhMCV24xETAPBgNUBAgTCGxp YW9uaW5nMQ8wDQVDUQQHEwZkYWxpVW4xDTALBgNUBAoTBGRsdX

19、QxHTAbBgNUBAsTFGdyaWQgc2Uj dXJpdHkgV2UudGUyMRQvjEgVDUQQDEMt3VW5nIHpoaUh1aTAeFwOvjNzA0MDcxMjQ4MTFaFwOxNTA2 MjQxMjQ4MTFaMG4xCzAJBgNUBAYTAmNuMRIwEAVDUQQIEwlsaWFubmluZyAxDzANBgNUBAcTBnRh bGlhbjENMAsGA1UEChMEZGx1dDEdMBsGA1UECxMUZ3JpZCBzZWN1cnl0eSBjZW5OZXIxDDAKBgNU BAMTA3d6aDCBnzANBgkqhkiG9w0BAQEFAA0BjQAu

20、gVkCgVEAqE*RqQmntsTnZ8BCwMaeHB8GskoU hLVvjSZR*EZeQDQSSM*OpuUisT/Hl*hP*FOXlhxEyOB/oUtXwcNSUHrtaqQdgewBQzTP+ltUCrbBX weuwUcLwqZFuUalOhcSAMFUmlHUyN*uHKhzlBwdYk/kl/giiCUtAnxFetle*xEBFLXSMCAwEAATAN BgkqhkiGQwOBAQQFAAOBgQAHSWQq*EboVOABlmTduuNjitPMhGaZaHc*HubEuwMfpeSSbyQUaMOO I4f57SCiOJ2BPRjtAEx/784HXTOpid

21、B91gp50ENu3dY2i3hE253GAO4VzkF6jRTbjD7ne61rhUD8 tdAMsQFZIFDsa7UMMzqjpZoUHrmbwP/nexKnd9uoTw=END CERTIFICATE在windows中双击signcert.cer证书文件,将出现以下图所示“证书”对话框。证书常规详细信息证书路径圜证书信息这个证书的目的期下:所有应用程序策略发给:wzh箧发者:wang zhihui有效起始日期2007-4-7到2015-6-24;安装证书二二确定我们可以看到签名前的警告信息已经没有了,且颁发者已经更换为wang zhihui而 不再是自己给自己签名的证书。“证书路径”

22、中将显示证书间的关系。证书常规详细信息证书路径因 wang zhihuiwzh证书状态6): 该证书没有问题。确定附:1 .常用的其它keytool命令:-delete删除密钥库中的条目;-keypassword修改密钥库中指定条目的口令;-printcert显示证书文件的详细内容,-file参数指定要显示的证书文件的名称;-import将证书文件倒入至U新的密钥库,注意:如果要导入signcert.cer,首先要导入CA “wang zhihui” 的证书 mycacert.cer,因为 signcert.cer 是由 mycacert.cer 签发的。2.从windows中卸载证书:启动I

23、E浏览器,单击“工具Internet选项”,在出现的对话框中单击“内容”标签, 如以下图所示。点击其中的“证书”按钮,在出现的对话框中点击“受信任的根证书颁发机构”, 在显示的证书中找到“wang zhihui”证书,单击删除,随后出现两次提示,单击“是”按钮 确认删除。Internet 选项常规 平安 隐私 内容 连接 程序r启用二:发行商CB).证书确定取消高级分级审查分级系统可帮助您控制在该计算机上看到的Internet 内容。证书使用证书可正确标识您自己、证书颁发机构和颁发商的 身份。清除SSL状态)个人信息三, 自动完成功能存储了以前的条目并将 白动完或rin 符合的工程推荐给您。目

24、劭兀成).一Microsoft配置文件助理能存储您的配置文件 个人信息a-个人颁发给_1颁发者截止日期好记的名称其他人中级证书颁发机构受信任的根证书颁发机构受信任的发行者verioi gn f 衬 VeriSi gn 至IVeriSi gn 【至WeriSi gn VeriSi gnTrust.Trust.Trust.Trust.Trust.VeriSi gnVeriSi gnVeriSi gnVeriSi gnVeriSi gnTrust NTrust NTrust NTrust NTrust N(Iwang zhihui国wzh国Xcert EZ by DSTwang zhihuiwzhX

25、cert EZ by DST2028-8-22018-5-192028-8-22028-8-22018-5-19 2007-4-142007-4-132009-7-12VeriSi gnVeriSi gnVeriSi gnVeriSi gnVeriSi gnXcert EZCla.Cla.Cla.Cla.Cla.by DST导人.高级)证书的预期目的关闭有效期是7天。证书中包含了新生成的公钥和一个名字为“CN=wang zhihui, OU=grid security center, O=dlut, L=dalian, ST=liaoning, C=cn” 的主体(人或机构)的对应关系。其中

26、“CN=wang zhihui, OU二grid security center, O=dlut, L=dalian, ST=liaoning, C=cn” 是 X.500 格式的全名, 包含了主体的国家,洲,城市,机构,单位和名字。这样,这个证书将证明相应的公钥是这 个人或机构所拥有的。使用的密钥库是mykeystore文件。其中keytool的-genkey参数用于生成公钥和私钥,并以交互的方式获取公钥持有者的信息,同时生成一 个能证明此公钥归持有者所有的证书。-alias参数用于指定新生成的公钥和私钥对及证书在密钥库中对应的别名。-keyalg参数可以指定密钥的算法,如RSA,DSA。k

27、eysize参数用于指定密钥的长度,默认为1024,如果使用的是DSA算法,其密钥长 度必须在512-1024之间,且必须是64的倍数。-keystore参数可以指定密钥库的名称。密钥库其实是存放密钥和证书的文件,密钥库对 应的文件如果不存在那么自动创立,由于密钥库中包含了私钥,所以是一个需要保密的文件, 上述命令行执行时会提示输入keystore的密码,这里因为是第一次使用该密钥库,因此输入 的密码“123456”将成为该密钥库默认的密码,以后再使用这个密钥库时必须提供这个口令 才可以使用。-validity参数可以指定所创立的证书有效期是多少天。以上操作最后还提示“输入mycacert的主

28、密码”,此处输入的密码是对应于该别名 的私钥的密码,密钥库中每个别名对应的私钥可以使用不同的密码加以保护。2 .从密钥库显示条目信息并将证书导出到证书文件a.在命令行中输入 keytool -list -keystore mykeystore -v”。Windows将不再信任CA wangzhihui”的证书,也就不再信任“wangzhihui”所签发的证书。此时双击signcert.cer将显示windows没有足够信息,不能验证该证书。证书常规常规详细信息证书路径证书信息Yindos没有足够信息,不能差证该证书.18发给:wzh瑁发者:wang zhihui有效起始日期2007-4-7到2

29、015-6-24安装证书二:确定C:keytool -list -keystore nykeystore -u 输入keystoi-e密码:123456Keystore 类型:jksKeystore 提供者:SUN您的keystore包含1输入别名名游: nycacert创立日期:2007-4-7输入类型:Ke yEn t i*y犍彝度:1Owner: CN=viang zhihui, OU =grid security center O=dlut, L=dalian, ST=liaoning, C=cn发照者: CN=wang zhihuij. OU =grid security cente

30、r, O=dlut, L=dalianST=liaoning, C=cn序芍:461675ec有致期间: Sat Apr 07 00:31:40 CST 2007 至: Sat Apr 14 00:31:40 CST 2007董证指纹:MD5: BD:3B:C0:00:62:8D:E4:07:16:79:FE:C0:4D:6D:A6:A2keytool的命令行参数-list可以显示密钥库中的证书信息,进一步使用-keystore参数可以显示指定的密钥库中的证书信息,在命令上加上-v参数可以显示证书的详细信息。b.使用keytool的-export可以将别名指定的证书导出到文件,文件名通过-fi

31、le参数指定。 如输入如下命令:keytool -export -alias mycacert -keystore mykeystore -storepass 123456 -file mycacert.cer -rfc”。C:keytool -export -alias nycacert -keystore mykeystore -storepass 123456 -ile mycacert .cer -i*f cc保存在文件中的认证C:该操作完成后将在当前目录中创立mycacertcer文件,它包含了公钥和主体的对应关系, 内容可以公开。rfc参数是使用一种可打印的编码格式来保存证书,如以

32、下图所示。如果不使 用此参数,那么使用文本编辑器翻开mycacert.cer,将会发现它是二进制文件。在windows中 双击mycacertcer的图表,将出现包含了证书所有者,颁发者和有效期等信息的对话框,这 些信息与前面使用keytool显示出的信息一致。困国4_ X文件g 编弱量)视图9 工具 帮助国)C:aycacert. cer - Votepad2|BEGIN CERTIFICATE而门MIICXDCCAcUCBEVWdewDQVJKoZIhucNAQEEBQAudTliJkGA1UEBhMCV24xETAPBgNUBAgTCGxp VW9uaW5nMQ8wDQVDUQQHEvj

33、ZkVWxpVW4xDTALBgNUBAoTBGRsdXQxHTAbBgNUBAsTFGdyaWQgc2Uj dXJpdHkgV2UudGUyMRQwEgVDUQQDEwt3VW5nIHpoaWh1aTAeFwOwNzAOMDVxNjMxNDBaFw0wNzA0 MTMxNjMxNDBaMHUxCzAJBgNUBAVTArnNuMREvjDuVDUQQIEwhsaWFubmluZzEPMAOGAIUEBxMGZGFs aWFuMQ0wCwVDUQQKEwRkbHU0MR0wGwVDUQQLExRncmlkIHNlY3UyaXR5IGNlbnRlcjEUMBIGA1UE AxMLd2FuZB6a

34、GlodUkvjgZ8uDQVJKoZIhucNAQEBBQADgV0AMIGJAoGBAIdOgOsrgx6IJouQz6U Q+Ey7nZkoo/rya7+aTW9HLhjbsiaacXZBz9rgSzrFP7JqUaogcKanUQ4T5dp2NxyiaVwRZeA6H0 WRnGuFPxcK8xoY9xFkBPp9ggeMEcoUr9uth0NU5t9UQuVetdsZyFPTinkn/9Dz6haXLQ85k9LK78X AgMBAAEwDQVJKoZIhucNAQEEBQADgYEAGqQFcPRtldi2Xos191cZwU4oz3ruK8j4xCM0HFnuIFtL 2iRIF

35、qBubspgEKD5WbE82t9E6N7JGdr52QyUd*sourW/NRqLs91jwPQsVKEGNHT9hbIdRLxVpUiB xj7zj8ir0dnIb93ryX0n6J081kJoI3FQGrDhHTlxinMMHqs+xM2o=END CERTIFICATE3 .安装mycacert为CA证书这里我们假定你自己是CA,你在计算机中的身份以mycacertcer来代表。下面将代表 CA的证书文件mycacert.cer安装在机器中,以便在计算机中确立mycacert.cer证书的权威性。双击导出的证书文件mycacert.cer,出现以下图所示的对话框。常规详细信息|证书路

36、径|证书信息该CA根证书不受信任.要启用信任,诘将该证书安 装到受信任的根证书猿发机构存储.瑁发给:wang zhihui18发者:wang zhihui有效起始日期2007-4-7到2007-4-14;安装证书:二1颁发者说明)单击对话框中的“安装证书”按钮,出现以下图所示的“证书导入向导”对话框。证书导入向导欢迎使用证书导入向导这个向导帮助您将证书、证书信任列表和证书撤消列 表从磁盘复制到证书存储区。由证书颁发机构颁发的证书是确认您的身份的文件,它含有用来保护数据或建立平安网络连接的信息。证书存储是保存证书的系统区域O单击其中的“下一步”按钮,出现以下图所示的“证书存储”对话框。证书导入向

37、导证书存鬲证书存储区是保存证书的系统区域。Windows可以自动选择证书存储区,或者您可以为证书指定一个位置。(.服据证书类型,自动选箱芷书存储区:C将所有的证书放入以下存储区国)上一步怎)|下一步国)| 取消使用该对话框的默认选择,直接单击“下一步”按钮,出现正在完成证书导入向导的对话框。证书导入向导正在完成证书导入向导您已成功地完成证书导入向导。您已指定以下设置:选定的证书存储 被向导自动决定内容证书上一步但) 完成取消以后操作系统将自动信任由mycacertcer签发的其他证书。单击其中的“完成”按钮, 出现最后确实认对话框。是否将以下证书添加到根存储区中?主题 :wang zhihui

38、. grid security center, dlut. dalian. liaoning. cn颁发者:自行颁发有效期:从20。7年4月7日到2007年4月14日序列号:461675EC拇印(shal) : 74038FC1 AFBC7CAC 9F53ADAD 19E400E9 E54DF615拇印 Gnd5) : BD3BC000 628DE407 1679FEC0 4D6DA6A2是建)如果用户怀疑该证书是否正确,可以再核实一遍该对话框中显示的拇印,确认后单击 其中的“是”按钮,最后提示导入成功。此时双击证书文件mycacertcer,将出现以下图所示的“证书”对话框。与原对话框相比,

39、“该CA根证书不受信任。J警告已经消失了,取而代之的是该证书的用途。证书常规详细信息证书路径圜证书信息这个证书的目的如下所有发布策略所有应用程序策略章发给:wang zhihui堰发者:wang zhihui有效起始日期2007-4-7到2007-4-14堰发者:wang zhihui有效起始日期2007-4-7到2007-4-14;安装证书二:确定单击该对话框的“证书路径标签,进入“证书路径”选项卡,出现以下图所示的对话证书常规详细信息证书路径wang zhihuiwang zhihui证书状态): 该证书没有问题。确定框,其中显示了该证书是正确的。二、创立被签发数字证书mycert创立别名

40、为mycert的被签发数字证书的过程与mycacert的创立过程中的前两步相同,注意在第一步提示输入“您的名字与姓氏? ”时,输入与mycacert不同的名字,如“wzh”。H C:YIID0YSSysteB32cBd. exeC:keytool -genkey -alias nycert -keyalg RSA 一keysize 1024 -keystore nykeystore -validity 7输入keystone密码:123456标的名字与姓氏是什么?Unknown: wzh您的组织单位名称港什么?.Unknown: grid security center您的组织名称是什么?Un

41、known: dlut您所在的城市或区域名称是什么?Unknown: dalian您所在的州或省份名称是什么?Unknown: liaoning该单位的两字母国家代科是什么Unknown: cnCN=wzh, OU =grid security center, O=dlut, L=dalian, ST=Mliaoning C=cn 正确吗 7否L y输入的主密码(如果和keystore密码相同,按回车):abcdefgC:同样将此证书导出到证书文件mycert.ceroC:keytool -export -alias mycert -keystore mykeystore -storepass 123456 -File 春存龙文件中的认证在windows中双击此证书文件将显示如下信息:“该证书不受信任”的警告信息,颁发给和颁发者是同一个用户名wzho

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服