cas证书
❶ 有人知道国外大学CAS证书编号怎么看吗
只有拿到 无条件录取通知书后 , 学校才会发给你CAS号码。 一般会通过邮件发给你一个CAS statement(里面包括CAS 号码和你个人和课程的信息)给你签证时候用。
❷ 关于glassfish CAS 证书。。。高手请赐教。。。。。
cas是个好东西,很灵活很好用,但是配置起来很麻烦,网上资料比较零碎。不弄个三五天根本不知道其中的原理,终于在多天的奋斗中配置成功,现在将配置的一些过程记录下来供大家参考。
cas官方网站
http://www.jasig.org/cas
下载最新的服务端 CAS Server 3.3.3 Final
解压后将moles下面的cas-server-webapp-3.3.3.war部署到web服务器,作为单点登录的服务器。
登录的服务器下面很多配置文件,通过配置可以做一些扩展。
修改点1:验证方式使用我们自己的用户表验证
cas和当前已有的系统做集成的入口
1.修改deployerConfigContext.xml文件
添加数据源配置
XML/HTML代码
<bean id="casDataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://192.168.1.100/ires?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true</value>
</property>
<property name="username">
<value>ires</value>
</property>
<property name="password">
<value>i709394</value>
</property>
</bean>
定义MD5的加密方式
XML/HTML代码
<bean id="passwordEncoder"
class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder" autowire="byName">
<constructor-arg value="MD5"/>
</bean>
配置authenticationManager下面的authenticationHandlers属性
XML/HTML代码
<bean class="org.jasig.cas.adaptors.jdbc.">
<property name="dataSource" ref="casDataSource" />
<property name="sql" value="select community_password from community_user_info where lower(community_user_info.community_user) = lower(?)" />
<property name="passwordEncoder" ref="passwordEncoder"/>
</bean>
修改点2:获取用户信息保存,方便各个客户端可以统一得到用户信息
1.定义attributeRepository,通过jdbc查询用户的详细信息,可以把用户表或用户的所属组织机构或角色等查询出来。
XML/HTML代码
<bean id="attributeRepository" class="org.jasig.services.persondir.support.jdbc.">
<constructor-arg index="0" ref="casDataSource" />
<constructor-arg index="1" >
<list>
<value>username</value>
<value>username</value>
</list>
</constructor-arg>
<constructor-arg index="2">
<value>
select * ,(SELECT orgn_organization.id from orgn_organization left join orgn_member on orgn_member.orgn_id = orgn_organization.id left join community_user_info on community_user_info.id = orgn_member.user_id where community_user_info.community_user = ?) as orgnId from community_user_info where community_user=?
</value>
</constructor-arg>
<property name="columnsToAttributes">
<map>
<entry key="id" value="id" />
<entry key="community_user" value="userName" />
<entry key="orgnId" value="orgnId" />
<entry key="is_admin" value="isAdmin" />
</map>
</property>
</bean>
2.配置authenticationManager中属性
XML/HTML代码
<bean class="org.jasig.cas.authentication.principal.">
<property name="attributeRepository" ref="attributeRepository" />
</bean>
注意:默认cas登录服务器没有把用户信息传到客户端中,所以要修改WEB-INF\view\jsp\protocol\2.0\casServiceValidationSuccess.jsp文件,增加
XML/HTML代码
<c:if test="${fn:length(assertion.chainedAuthentications[fn:length(assertion.chainedAuthentications)-1].principal.attributes) > 0}">
<cas:attributes>
<c:forEach var="attr" items="${assertion.chainedAuthentications[fn:length(assertion.chainedAuthentications)-1].principal.attributes}">
<cas:${fn:escapeXml(attr.key)}>${fn:escapeXml(attr.value)}</cas:${fn:escapeXml(attr.key)}>
</c:forEach>
</cas:attributes>
</c:if>
修改点3:用数据库来保存登录的会话
这样服务器在重新启动的时候不会丢失会话。
1.修改ticketRegistry.xml文件
将默认的ticketRegistry改成
XML/HTML代码
<bean id="ticketRegistry" class="org.jasig.cas.ticket.registry.JpaTicketRegistry">
<constructor-arg index="0" ref="entityManagerFactory" />
</bean>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.">
<property name="dataSource" ref="dataSource"/>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="generateDdl" value="true"/>
<property name="showSql" value="true" />
</bean>
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"
p:entityManagerFactory-ref="entityManagerFactory" />
<tx:annotation-driven transaction-manager="transactionManager"/>
<bean
id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
p:driverClassName="com.mysql.jdbc.Driver"
p:url="jdbc:mysql://192.168.1.100:3306/cas?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true"
p:password="709394"
p:username="itravel" />
配置完之后还需要一些jar的支持,根据提示那些包缺少到网上找。
修改点4:配置remenber me的功能,可以让客户端永久保存session
1.修改deployerConfigContext.xml文件
authenticationManager增加属性
XML/HTML代码
<property name="">
<list>
<bean class="org.jasig.cas.authentication.principal." />
</list>
</property>
2.修改cas-servlet.xml
修改authenticationViaFormAction配置变成
XML/HTML代码
<bean id="authenticationViaFormAction" class="org.jasig.cas.web.flow.AuthenticationViaFormAction"
p:centralAuthenticationService-ref="centralAuthenticationService"
p:formObjectClass="org.jasig.cas.authentication.principal."
p:formObjectName="credentials"
p:validator-ref=""
p:warnCookieGenerator-ref="warnCookieGenerator" />
增加
XML/HTML代码
<bean id="" class="org.jasig.cas.validation." />
修改ticketExpirationPolicies.xml,配置如下,注意时间要加大,不然session很容易过期,达不到remember me的效果。
XML/HTML代码
<bean id="" class="org.jasig.cas.ticket.support.">
<property name="sessionExpirationPolicy">
<bean class="org.jasig.cas.ticket.support.TimeoutExpirationPolicy">
<constructor-arg index="0" value="2592000000" />
</bean>
</property>
<property name="rememberMeExpirationPolicy">
<bean class="org.jasig.cas.ticket.support.TimeoutExpirationPolicy">
<constructor-arg index="0" value="2592000000" />
</bean>
</property>
</bean>
修改点5:取消https验证
在网络安全性较好,对系统安全没有那么高的情况下可以取消https验证,使系统更加容易部署。
1.修改.xml
XML/HTML代码
<bean id="" class="org.jasig.cas.web.support."
p:cookieSecure="false"
p:cookieMaxAge="-1"
p:cookieName="CASTGC"
p:cookiePath="/cas" />
p:cookieSecure改成false,客户端web.xml中单独服务器的链接改成http
使用https协议的配置
1.证书生成和导入
下面是一个生成证书和导入证书的bat脚本,如果web应用和单独登录服务器部署在同一台机可以一起执行
C++代码
@echo off
if "%JAVA_HOME%" == "" goto error
@echo on
@echo off
cls
rem please set the env JAVA_HOME before run this bat file
rem delete alia tomcat if it is existed
keytool -delete -alias tomcatsso -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit
keytool -delete -alias tomcatsso -storepass changeit
REM (注释: 清除系统中可能存在的名字为tomcatsso 的同名证书)
rem list all alias in the cacerts
keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit
REM (注释: 列出系统证书仓库中存在证书名称列表)
rem generator a key
keytool -genkey -keyalg RSA -alias tomcatsso -dname "cn=localhost" -storepass changeit
REM (注释:指定使用RSA算法,生成别名为tomcatsso的证书,存贮口令为changeit,证书的DN为"cn=linly" ,这个DN必须同当前主机完整名称一致哦,切记!!!)
rem export the key
keytool -export -alias tomcatsso -file "%java_home%/jre/lib/security/tomcatsso.crt" -storepass changeit
REM (注释: 从keystore中导出别名为tomcatsso的证书,生成文件tomcatsso.crt)
rem import into trust cacerts
keytool -import -alias tomcatsso -file "%java_home%/jre/lib/security/tomcatsso.crt" -keystore "%java_home%/jre/lib/security/cacerts" -storepass changeit
REM (注释:将tomcatsso.crt导入jre的可信任证书仓库。注意,安装JDK是有两个jre目录,一个在jdk底下,一个是独立的jre,这里的目录必须同Tomcat使用的jre目录一致,否则后面Tomcat的HTTPS通讯就找不到证书了)
rem list all alias in the cacerts
keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit
pause
:error
echo 请先设置JAVA_HOME环境变量
:end
3.将.keystore文件拷贝到tomcat的conf目录下面,注意.keystore会在证书生成的时候生成到系统的用户文件夹中,如windows会生产到C:\Documents and Settings\[yourusername]\下面
2.配置tomcat,把https协议的8443端口打开,指定证书的位置。
XML/HTML代码
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="conf/.keystore" keystorePass="changeit" truststoreFile="C:\Program Files\Java\jdk1.5.0_07\jre\lib\security\cacerts"/>
客户端配置
cas官方网站上面的客户端下载地址比较隐秘,没有完全公开,具体地址为
http://www.ja-sig.org/downloads/cas-clients/
下载最新的cas-client-3.1.6-release.zip
1.解压后把moles下面的包放到我们的web应用中
2.配置web.xml,注意encodingFilter要提前配置,不然会出现数据插入数据库的时候有乱码。
serverName是我们web应用的地址和端口
XML/HTML代码
<context-param>
<param-name>serverName</param-name>
<param-value>192.168.1.145:81</param-value>
</context-param>
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.htm</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.ftl</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.xhtml</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.shtml</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.vm</url-pattern>
</filter-mapping>
<filter>
<filter-name>CAS Single Sign Out Filter</filter-name>
<filter-class>
org.jasig.cas.client.session.SingleSignOutFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Single Sign Out Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>
org.jasig.cas.client.session.
</listener-class>
</listener>
<filter>
<filter-name>CAS Authentication Filter</filter-name>
<filter-class>
org.jasig.cas.client.authentication.AuthenticationFilter
</filter-class>
<init-param>
<param-name>casServerLoginUrl</param-name>
<param-value>http://192.168.1.100/cas/login</param-value>
</init-param>
</filter>
<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>
org.jasig.cas.client.validation.
</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>http://192.168.1.100/cas</param-value>
</init-param>
</filter>
<filter>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<filter-class>
org.jasig.cas.client.util.
</filter-class>
</filter>
<filter>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<filter-class>
org.jasig.cas.client.util.AssertionThreadLocalFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3.导入证书,如果不用https的话,这步可以跳过,把tomcatsso.crt证书拷贝到c盘下面,在jdk的bin目录下面运行下面的语句。
JavaScript代码
rem (注释: 清除系统中可能存在的名字为tomcatsso 的同名证书)
keytool -delete -alias tomcatsso -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit
keytool -delete -alias tomcatsso -storepass changeit
rem 在客户端的 JVM 里导入信任的 SERVER 的证书 ( 根据情况有可能需要管理员权限 )
keytool -import -alias tomcatsso -file "c:/tomcatsso.crt" -keystore "%java_home%/jre/lib/security/cacerts" -storepass changeit
客户端获取登录用户名和用户信息实例
Java代码
HttpServletRequest request = ServletActionContext.getRequest();
AttributePrincipal principal = (AttributePrincipal)request.getUserPrincipal();
String username = principal.getName();
Long orgnId = Long.parseLong(principal.getAttributes().get("orgnId").toString());
❸ 英国cas要求学士学位原始证书,我只提交了学校出的英文证明加上翻译件
一般来申请签证要严格按照源CAS上面的要求去递交材料,而且必须是原件。如果你还没有递交材料,建议材料准备齐再去递交,如果已经交了签证,那么建议你赶紧去联系学校,如果签证官还没有处理到你的申请,那么让学校把你的CAS上要求的材料改成你提交的材料就可以了。希望还来得及。如果学校查到的CAS已经是used状态,那么说明签证官已经给出了结果,只能等着听天由命了。
❹ java SSO,用CAS实现,必须用证书吗
必须用证书,耶鲁的Cas证书配置网上很多
❺ 使用cas做单点登录时,会提示颁发证书错误,怎么办
单点登录做到这个程度就已经完成任务了,剩下的靠自己解决吧,毕竟业务和权限处理方式实在太多了,用户怎么统一只能你们自己搞,单独使用一个用户表,或者使用3个中的某一个只能自己考虑,或者使用3个库统一出来一个视图。
单点登录解决的就是让你能够登录,而且在登录后在使用cas的系统中可以获得用户名,这样你可以根据用户名作一些事情,比如加载用户其他属性,加载权限等。
❻ 电源适配器阿联酋COC证书办理 ECAS认证有什么要求
外贸出口中,ECAS是客车电子控制的空气悬架系统。是出口的产品。
客车电子内控制的空气悬架系统容(ECAS)由ECAS电控单元、电磁阀、高度传感器、气囊等部件组成。高度调节器负责检测车辆高度的变化,电控单元将接受输入信息,判断当前车辆状态,激发电磁阀工作,几电磁阀实现对各个气囊的充放气调节。 随着人们对车辆乘坐舒适性要求的提高和我国客车悬架技术的发展,空气悬架在客车上的应用日益广泛。
❼ java使用cas实现sso,必须用证书吗
可以不用。证书是ssl方式的。
❽ 什么是cas认证
CSA是加拿大标准协会(Canadian Standards Association)的简称它成立于1919年,是加拿大首家专为制定工业标准的非盈利性机构。在北美市场上销售的电子、电器等产品都需要取得安全方面的认证。目前CSA是加拿大最大的安全认证机构,也是世界上最著名的安全认证机构之一 。它能对机械、建材、电器、电脑设备、办公设备、环保、医疗防火安全、运动及娱乐等方面的所有类型的产品提供安全认证。CSA已为遍布全球的数千厂商提供了认证服务,每年均有上亿个附有CSA标志的产品在北美市场销售。
1992年前,经CSA认证的产品只能在加拿大市场上销售,而产品想要进入美国市场,还必须取得美国的有关认证。现在CSA International已被美国联邦政府认可为国家认可测试实验室。这意味着能根据加拿大和美国的标准对您的产品进行测试和认证,同时保证您的认证得到联邦、洲、省和地方政府的承认。有了CSA有效的产品安全认证,想要进入世界上最为坚韧而广阔的北美市场就轻而易举了。CSA能够帮助您的产品迅速有效地打入美国和加拿大市场。 CSA International将通过消除申请认证过程中的重复手续来帮厂商节省时间和金钱。对于厂商来说, 所要做的只是提出一次申请、提供一套样品和缴交一笔费用,而所得到的安全标志却能被联邦、州、省以及从纽约到洛杉矶的当地各级的认可。CSA International将与厂商一起共同努力, 提供一个高素质且安全可靠的认证项目。在北美以至全世界,CSA人都以诚实正直和熟练技能赢得人们的信赖。
CSA International在加拿大拥有四间实验室。从1992年至1994年,它们都先后获得"美国政府劳工部职业安全及健康管理局"(OSHA)的正式认可。 根据OSHA的规则,获得这一认可后,即可作为一个国家认可测试实验室,对一系列产品按照360多个美国ANSI/UL标准进行测试和认证。经CSA International 测试和认证的产品,被确定为完全符合标准规定,可以销往美国和加拿大两国市场。
取得北美认证既省时间又省金钱,只需完成一项申请、提供一套样品、缴交一次费用。有了CSA,一步就能帮您打入两国市场。CSA这一便利的测试认证服务,排除了取得两国不同认证所需的重复测试和评估。这无疑减少了厂商在产品认证、跟踪检验和重新测试方面的成本费用,同时也节省了宝贵的时间,并省却了厂商与各种不同的认证机构打交道的麻烦,从而达到事半功倍的效果。
CSA Marking是经由向加拿大Canadian Standards Association标准协会申请登录,经由该单位认可产品之安全性及授权后,始可于产品上附加 CSA Marking标志。CSA为一个非营利性质的会员赞助机构,其所制定标准的领域包括:保健技术、石油及瓦斯管路系统、职业安全、电气产品及太阳能。CSA在加拿大除总公司外,另有大西洋地区、奎北克地区、中部平原地区、西部地区、太平洋地区等分部,在世界各地亦有附属机构及驻外代表。CSA的标准是自愿性质的。市、省及联邦政府经常在管理中使用或参照CSA的标准以取代他们去发展自己的标准。在此情况下,CSA标准便成为政府规格的参考依据。政府或其它组织及协会也许会要求遵守某种标准或指明某种特定产品必需经过验证以证明符合某种标准。这都建立在每一组织是否希望在其管辖范围内要求使用CSA标准及验证作业。
CSA Marking为目前世界上最知名的产品安全认可标志之一,即使非强制实施,很多地区之厂商都以取得此一标志作为对客户推荐其产品安全性之重要依据,很多购买者甚至会指定要求购买已附加CSA标志之产品。近来制造商被加拿大进口商或购买者指定需取得CSA标志的情况渐增。
CSA认证 - 宗旨
CSA是加拿大标准协会的英文缩写,它是加拿大最大的检验认证机构,作为一个独立的、民间的、非赢利的机构主要是为公众、政府、工商界等从事产品认证、检验及与此有关的标准开发和信息服务。它不仅根据加拿大政府有关部门的授权从事安全项目的认证,还承担性能品质方面的检测。
CSA的会员来自加拿大全国各地各阶层的7000多名自愿者和2200多个社团赞助成员组成,这些成员组成1000多个标准委员会,本着集思广益、综合众人的合理意见的原则,按着一定的程序拟制范围相当广泛的各种材料、产品、设备、服务设施的标准、要求和指南。CSA的标准是自愿采用的,但联邦、省、地方政府经常在制定法规时使用和参照CSA标准,这类标准便成为政府立法的依据,也就是说具有强制性。CSA在加拿大本土有六个实验室,总部在多伦多。在远东的日本、台湾、香港设立了三个办事处,同时,它还与日本的JMI、荷兰的KEMA、英国的BSI建立了代理认证关系。
CSA认证 - 流程
1、将初步申请表填妥,连同一切有关产品(包括全部电器部件和塑胶材料)的说明书和技术数据一并交给CSA International。
2、CSA International 将根据产品的具体情况确定认证费用,再以传真通知申请公司。
3、经申请公司确认后,将寄上正式申请表和通知书,该通知书包括下列要求:
(1)正式申请表签署后,电汇认证费用(可以人民币支付)到办事处。
(2)按通知将测试样板送到指定地点。
4、指定实验室将依时进行认证工作。
5、认证测试完毕之后,将会发给申请公司一份初步报告书(Findings Letter),详细列明如下:
(1)产品结构需如何改良才能符合标准。
(2)要用来完成认证报告的其他资料。
(3)请申请公司检阅认证记录(Certification Record)草案的内容
(4)CSA认证所需的唛头以及获取唛头的方法。
(5)产品所需的工厂测试(Factory Tests)。
6、CSA International 将申请公司对上述第五项的回答加以评估。
7、同时 CSA International将会编写一份用作产品生产参考和跟踪检验用的认证报告(Certification Report)。
8、到了这个阶段,在某种情况下,CSA International要到工厂作工厂初期评估(Initial Factory Evaluation),简称IFE。
9、最后 CSA International 便会连同认证记录(Certification Record)发一份合格证书(Certification of Compliance)授权申请公司在其产品上加上CSA的认证标志。
10、申请公司要和CSA International签订一份服务协议(Service Agreement),以表示双方同意CSA International到工厂作产品跟踪检验。申请公司每年需支付年费(Annual Fee)来维持该项协议。
❾ 使用cas做单点登录时,会提示颁发证书错误,怎么办
很明显是网络问题。你需要检查网络防火墙设置,从日志看,你的应用服务器,不能访问你的cas服务器。需要开放cas服务器的端口给应用服务器。