开发者社区> 问答> 正文

创建套件

tomcat  日志 提示  不合法的aes key    需要修改什么地方?

展开
收起
极速培训 2016-08-02 10:05:02 4313 0
3 条回答
写回答
取消 提交回答
  • 回 13楼赵挺1的帖子
    我也是下载了java的demo,意见修改了Env.java里面的TOKEN和ENCODING_AES_KEY与创建套件时的填写一致,还是报错。

    页面报错:错误原因: url地址访问异常,错误原因为:http statusCode is:500

    tomcat后台报错:不合法的aes key

    2016-08-04 15:02:01
    赞同 展开评论 打赏
  • Re创建套件

    -------------------------

    回 1楼赵挺1的帖子
    复制的这个 然后放到您们提供的demo的Env.java文件 的 ENCODING_AES_KEY  对吗?

    -------------------------

    回 4楼赵挺1的帖子
       把Token的值复制给Env.TOKEN  把值复制给给Env.ENCODING_AES_KEY

    -------------------------

    回 4楼赵挺1的帖子
    ip 用的我们部署服务器的ip 访问地址是工程地址/isvreceive

    -------------------------

    回 4楼赵挺1的帖子
    网页返回的就是      错误原因: 返回字符串不匹配

    -------------------------

    回 7楼赵挺1的帖子
    14:40:38.337 [localhost-startStop-1] DEBUG o.s.c.e.PropertySourcesPropertyResolver - Searching for key 'spring.liveBeansView.mbeanDomain' in [jndiProperties]
    14:40:38.337 [localhost-startStop-1] DEBUG o.springframework.jndi.JndiTemplate - Looking up JNDI object with name [java:comp/env/spring.liveBeansView.mbeanDomain]
    14:40:38.338 [localhost-startStop-1] DEBUG o.s.jndi.JndiLocatorDelegate - Converted JNDI name [java:comp/env/spring.liveBeansView.mbeanDomain] not found - trying original name [spring.liveBeansView.mbeanDomain]. javax.naming.NameNotFoundException: Name [spring.liveBeansView.mbeanDomain] is not bound in this Context. Unable to find [spring.liveBeansView.mbeanDomain].
    14:40:38.338 [localhost-startStop-1] DEBUG o.springframework.jndi.JndiTemplate - Looking up JNDI object with name [spring.liveBeansView.mbeanDomain]
    14:40:38.338 [localhost-startStop-1] DEBUG o.s.jndi.JndiPropertySource - JNDI lookup for name [spring.liveBeansView.mbeanDomain] threw NamingException with message: Name [spring.liveBeansView.mbeanDomain] is not bound in this Context. Unable to find [spring.liveBeansView.mbeanDomain].. Returning null.
    14:40:38.338 [localhost-startStop-1] DEBUG o.s.c.e.PropertySourcesPropertyResolver - Searching for key 'spring.liveBeansView.mbeanDomain' in [systemProperties]
    14:40:38.338 [localhost-startStop-1] DEBUG o.s.c.e.PropertySourcesPropertyResolver - Searching for key 'spring.liveBeansView.mbeanDomain' in [systemEnvironment]
    14:40:38.338 [localhost-startStop-1] DEBUG o.s.c.e.PropertySourcesPropertyResolver - Could not find key 'spring.liveBeansView.mbeanDomain' in any property source. Returning [null]
    14:40:38.338 [localhost-startStop-1] DEBUG o.s.web.servlet.DispatcherServlet - Published WebApplicationContext of servlet 'springDispatcherServlet' as ServletContext attribute with name [org.springframework.web.servlet.FrameworkServlet.CONTEXT.springDispatcherServlet]
    14:40:38.338 [localhost-startStop-1] INFO  o.s.web.servlet.DispatcherServlet - FrameworkServlet 'springDispatcherServlet': initialization completed in 770 ms
    14:40:38.338 [localhost-startStop-1] DEBUG o.s.web.servlet.DispatcherServlet - Servlet 'springDispatcherServlet' configured successfully
    不合法的aes key
    不合法的aes key
    不合法的aes key
    不合法的aes key
    不合法的aes key
    不合法的aes key
    不合法的aes key
    不合法的aes key




    上面是发布后tomcat的 日志 部分内容   

    -------------------------

    回 9楼赵挺1的帖子
    是公网ip
    直接发布你们demo  修改 Env.java 文件是不能用的吗?
    加解密?

    -------------------------

    回 9楼赵挺1的帖子
    什么情况啊!! 很急!
    2016-08-02 11:37:21
    赞同 展开评论 打赏
  • 您好,aes key填写的是否正确?

    -------------------------

    这些参数不能空着

    -------------------------

    是的

    -------------------------

    你的IP是公网IP么?
    加解密需要严格按照文档的说明来做

    -------------------------

    数据加密密钥    :回调消息加解密参数,是AES密钥的Base64编码,用于解密回调消息内容对应的密文。本套件下相关应用产生的回调消息都使用该值来解密。

    当您注册套件时,钉钉服务器为了避免无效推送,将会验证回调url的有效性,对回调url推送“验证回调URL有效性事件”,收到推送后您需要做正确的处理,才能成功创建套件。详细处理步骤请查看回调接口和“验证回调URL有效性事件”。

    https://open-doc.dingtalk.com/doc2/detail.htm?spm=a219a.7629140.0.0.HAJ6w3&treeId=175&articleId=104945&docType=1
    a.验证回调URL有效性事件
    此事件的推送会发生在注册套件,点击下图按钮之时。注意,若未能成功验证回调URL有效性,套件将不能被创建。
    1
    dingTalkEncryptor = new DingTalkEncryptor(Env.TOKEN, Env.ENCODING_AES_KEY, Env.CREATE_SUITE_KEY);//套件在创建中,使用默认的SUITE_KEY进行加解密
    此时,由于套件尚未创建成功,还未生成套件的SUITE_KEY,所以在解密post数据的时候,需要使用默认的Env.CREATE_SUITE_KEY(默认值为“suite4xxxxxxxxxxxxxxx”)来解密,以java-demo代码为例(Env为Demo中配置文件),如右,服务端demo已经做了配置。

    同时,Demo的配置文件(Env.java)中还需要根据套件创建时填写的TOKEN 和 ENCODING_AES_KEY做相应的更改。
    待成功处理『验证回调URL有效性事件』事件,套件创建成功之后,就不能再使用默认的SUITE_KEY了,需要使用套件本身的SUITE_KEY,所以需要在Env.java中配置SUITE_KEY,同时将新创建套件中的SUITE_SECRET配置到Env.java中,然后重新部署代码,此时将用下面的语句进行加解密。因为推送ticket是二十分钟推送一次,再次部署也需要等待二十分钟服务端才会推送,后续会优化该逻辑,保证即时推送,提高推送效率。

    dingTalkEncryptor = new DingTalkEncryptor(Env.TOKEN, Env.ENCODING_AES_KEY, Env.SUITE_KEY);//套件创建成功后,使用套件本身的SUITE_KEY进行加解密

    2016-08-02 11:06:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
面向多端的AliOS开放策略 立即下载
面向多端的AliOS 开放策略 立即下载
使用TensorFlow搭建智能开发系统 自动生成App U 立即下载