java - java中的SandBox帐户认证并上传证书?

标签 java certificate avalara

  1. 我的证书是在生产帐户上创建的,但不是在沙盒帐户上创建的。
  2. 在 cert 上创建的证书,但无法从中下载上传的 pdf 格式的证书。
  3. 我的问题是我无法下载 pdf(因为我认为它没有成功上传),请使用我的 SandBox 帐户进行测试。

下面的详细信息,我使用生产帐户 token 并在 cert 上创建证书,但上传的 pdf 无法下载。

@RequestMapping(method = RequestMethod.POST, value="/certificateFormData")
    public String certificateFormData(@RequestParam("file") MultipartFile inputFile,Model model,HttpServletRequest request) {
        System.out.println("**********");
        String pattern = "yyyy-MM-dd";
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
        String date = simpleDateFormat.format(new Date());
        Customer customer= (Customer)request.getSession().getAttribute("customer");

        try {
            if (!inputFile.isEmpty()) {

                System.out.println(inputFile.getName());


                    String exemptReason =   request.getParameter("exempt_reason");
                    String exposureZone =   request.getParameter("exposure_zones");
                    String exemptsCategory =request.getParameter("tax_exempt_category");
                    /*String taxNumber= request.getParameter("tax_number");
                    String verificationNumber = request.getParameter("verification_number");
                    */
                    System.out.println("getData================================>");
                    System.out.println("exempt reaosn"+exemptReason);
                    System.out.println(exposureZone);
                    System.out.println(exemptsCategory);

                    String  base64=Base64.getUrlEncoder().encodeToString(inputFile.getBytes());
                    StringBuilder query = new StringBuilder();
                    query.append("signed_date="+date);
                    query.append("&expiration_date="+"9999-12-31");
                    /*query.append("&valid="+true);
                    query.append("&verified="+true);*/
                    query.append("&never_renew="+true);
                    /*query.append("&renewable="+true);*/
                    query.append("&unused_multi_cert="+false);
                    query.append("&exmpt_percent="+0);/*
                    query.append("&verification_number="+verificationNumber);
                    query.append("&tax_number="+taxNumber);*/


                    query.append("&unused_multi_cert="+false);

                    for(TaxExemptReason reason: taxExemptReasons) {
                        if(reason.getId().equals(exemptReason)){
                            JSONObject obj = new JSONObject();
                            obj.put("id", exemptReason);
                            obj.put("name", reason.getName());
                            obj.put("tag", reason.getTag());
                            query.append("&expected_tax_code=" + obj.toString());
                        }   

                    }

                    for (ExposureZone zone :exposureZones) {
                        if (zone.getId().equals(exposureZone)) {
                            JSONObject obj = new JSONObject();
                            obj.put("id", exposureZone);
                            obj.put("name", zone.getName());
                            obj.put("tag", zone.getTag());
                            query.append("&exposureZone=" + obj.toString());
                        }
                    }
                    query.append("&status={\"name\":\"PENDING\"}");
                    query.append("&pdf=" + base64);


                    String response = certCaptureService.createCertificate(query,properties);
                    System.out.println("cert certificate response"+response);

                    JSONObject certCertificateJson= new  JSONObject(response);

                    if(response.contains("id"))
                    {

                        Certificate certificate= new Certificate();
                        certificate.setBigcommerceCustomerId(customer.getBigcommerceCustomerId());
                        certificate.setCertificateId(certCertificateJson.get("id")+"");
                        certificate.setCertCustomerId(customer.getCertCustomerId());
                        certificate.setCertCustomerNumber(customer.getCertCustomerNumber());
                        certificate.setClientId(customer.getClientId());
                        certificate.setExemptionCategory(exemptsCategory);
                        certificate.setCreatedate(new Timestamp(System.currentTimeMillis()));
                        certificate.setUpdateDate(new Timestamp(System.currentTimeMillis()));
                        certificate.setExempt_reason(exemptReason);
                        certificate.setExposure_zones(exposureZone);
                        certificate.setTaxDetails("");
                        customerDaoService.saveCertificate(certificate);

                        try {
                            String certificateQuery="certificates=[{\"id\":"+certCertificateJson.get("id")+"}]";
                            String certificateQueryResponse= certCaptureService.createCustomerwithCertificate(customer.getCertCustomerId(),
                                    certificateQuery, properties);
                            System.out.println("cert certificate customer response"+certificateQueryResponse);
                            if(certificateQueryResponse.contains("success")) 
                                model.addAttribute("response","Succcessfully create a certificate");
                            else
                                model.addAttribute("response","No Certificate Created.");
                        }catch (Exception e) {
                            model.addAttribute("response","No Certificate Created.");
                        }
                    }
                    else {
                        model.addAttribute("response","No Certificate Created.");
                    }

            }
        }catch (Exception e) {
            e.printStackTrace();
        }   
        return "redirect:/customer/"+customer.getBigcommerceCustomerId();
    }

最佳答案

不确定这是否能帮助您解决问题,但一开始我遇到了很多证书问题。当您安装三个证书(通配符、中间证书、根证书)时,请将它们安装在 $JAVA_HOME/jre/lib/security 中。如果您将它们安装在 JAVA 主 JRE 中,则您的 IDE 应该会选取它们(前提是您正在使用该 JAVA 安装)。

关于java - java中的SandBox帐户认证并上传证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57139830/

相关文章:

ios - ssh xcodebuild 没有签名证书

ruby-on-rails - Rails 应用程序的税务服务推荐?

java - Elasticsearch :将客户端传输到高级其余客户端

java - 如何安装 OpenJFX 11

java - 从线程启动一个 Activity

java - 从 JAVA 调用 API 时 JSON 格式错误

java - Oreo 8.0 - 'sendTextMessage()' 未将邮件保存到已发送文件夹

c - 是否可以在运行时将 Cert.der 和 key.der 写入内部闪存 EEprom 中?我用的是stm32

php - 如何以编程方式安装 ssl 证书 (OpenSSL)