Canigó - Connector SSC
CONNECTOR SSC
IntroduccióL'objectiu d'aquest connector és el de proporcionar accés al Sistema de Signatura Centralitzada de Catcert (SSC). PropòsitEl propòsit del connector és proporcionar una interfície que utilitzi l'API SmartWrapper per poder donar accés als diferents tipus de signatura que ofereix l'SSC. Context i Escenaris d'úsEl connector SSC es troba dins els connectors de serveis funcionals de la Generalitat. Versions i DependènciesEn el present apartat es mostren quines són les versions i dependències necessàries per fer ús del Connector. Les dependències descrites a la següent url són requerides per tal de fer funcionar el servei: A qui va dirigitAquest document va dirigit als següents perfils:
Documents i Fonts de Referència
Descripció DetalladaAquest connector permet utilitzar els diferents serveis de signatura del SSC a través d'una API que el mateix connector ofereix. El nucli principal del SSC és el sistema TrustedX que ofereix l'API SmartWrapper per poder trevallar amb ell. És amb aquesta API amb la cual esta constituit aquest connector. Els principals serveis que ofereix el connector són els següents:
Alta ServeiPer poder utilitzar l'SSC en PRO s'ha d'estar donat d'alta en el servei. Per poder fer-ho s'han de seguir els següents passos: 1.- Enviar un mail a implantacio@aoc.cat sol- licitant l'alta al servei. Aquí s'espera que l'usuari informi del tipus de signatures que vol generar i se l'informarà del tipus de certificats que ha de sol- licitar. De cara a utilitzar el servei en PRE, els certificats i documentació necessaria es poden demanar obrint una petició a suport@aoc.cat. Arquitectura i ComponentsInterfícies i Components GenèricsEs pot trobar tota la documentació JavaDoc i el codi font referent aquests components a les següents url's: JavaDoc: http://canigo.ctti.gencat.net/confluence/canigodocs/site/canigo2_3_17/canigo-connectors-root/canigo-connectors-ssc/apidocs/index.html RequerimentsEl connector SSC és compatible amb les versions 1.5 o superior de Java. Per versions inferiors no es garantit el seu correcte funcionament. Donat que l'SSC s'ha desenvolupat per substituir altres sistemes de signatura anteriors s'ha desenvolupat per que sigui compatible amb components de Canigo 2.3.5 en endevant. Tot i això, s'ha de tindre en compte que conté una sèrie de dependències que podrien arribar a donar conflicte en una aplicació ja desenvolupada. Per aquest motiu es recomana consultar les seves dependències. Instal.lació i ConfiguracióInstal.lacióLa instal.lació del connector requereix de la utilització de la llibreria 'canigo-connectors-ssc' i les dependències indicades a l'apartat 'Introducció-Versions i Dependències'. Per afegir aquesta dependència s'ha de modificar el pom.xml de l'aplicació per incloure la llibreria del Connector. <dependency> <groupId>canigo.connectors</groupId> <artifactId>canigo-connectors-ssc</artifactId> <version>1.0.0</version> </dependency> El resultat dels processos de signatura moltes vegades són arrays de bytes que es troben codificats en Base64 amb classes d'Axis. Això fa que per la recuperació d'arxius s'hagi d'incorporar una llibreria més en el proyecte: <dependency> <groupId>axis</groupId> <artifactId>axis</artifactId> <version>1.2.1</version> </dependency> Configuració
<bean id="sscConnector" class="net.gencat.ctti.canigo.connectors.canigo_connectors_ssc.impl.SscConnectorImpl"> <property name="loggingService" ref="loggingService"></property> <property name="host" value="${sscService.host}"></property> <property name="distinguishedname" value ="${sscService.distinguishedname}"></property> </bean> on les variables host i distinguishedname són recuperades de l'arxiu client.properties que s'ha de declarar en el servei de configuració del Framework, en el canigo-services-configuration.xml. <beans> <bean id="configurationService" class="net.gencat.ctti.canigo.services.configuration.springframework.beans.factory.config.HostPropertyPlaceholderConfigurer"> <property name="basePropertyFiles"> <list> ... <value>classpath:client.properties</value> ... </list> </property> <property name="logService" ref="loggingService"></property> </bean> </beans> 2.- Configuiració dels arxius de properties. Existeixen dos arxius de properties per poder confiurar l'SSC. El client.properties i el smartwrapper.properties. El primer conté només dos paràmetres,
El segón conté la configuració de l'API SmartWrapper de TrustedX i esta documentat en el document GuiaIntegracioSSC.v1.1.pdf. La ubicació d'amdos arxius es recomana que sigui en el directori src/main/resoruces de l'aplicació que utilitzi el connector. NOTA: Les dades de proves del connector relacionades amb certificats de proves s'han de demanar a CatCert Utilització del ConnectorExemple d'utilització d'un Servei Sincron1.- Referenciar al servei SSC des de l'acció que es vulgui utilitzar (action-servlet-aaa.xml): <property name="sscService" ref="sscConnector"></property> 2.- En l'acció, s'haurà de instanciar el servei i crear els getters i setters corresponents, private SscConnector sscService; public SscConnector getSscService() { return sscService; } public void setSscService(SscConnector sscService) { this.sscService = sscService; } En aquest cas d'exemple es farà una signatura CAdES-BES en format Attached d'un arxiu de text de proves. try { final String path_in = "path_arxiu_entrada"; final String path_out = "path_arxiu_sortida"; final String filename = "HelloWorld.txt"; String data = Util.readBinaryFileB64(path_in + filename); String resposta = sscService.signCadesBes(data, Constants.ATTACHED); String destFilename = path_out + filename.substring(0, filename.lastIndexOf(".")) + "_Signature_CAdES_BES_Attached.p7b"; Util.writeBinaryFileB64(destFilename, resposta); } catch (SCException e) { //ERROR } Per més informació sobre els diferents mètodes que ofereix el connector SSC es pot consultar l'API. |