OOXML: aprovação

31.07.07

Foi hoje aprovado por 13 votos a favor e 7 contra, a posição favorável da Comissão Técnica de análise do OOXML da Microsoft para norma ISO.

tags:
publicado por pinguinsmagicos às 21:14editado por Fábio Teixeira em 12/10/2010 às 11:39

Timeline das distribuições Linux

17.07.07


Tenho no meu gabinete um do Unix + Windows, mas este não conhecia.
Lá está a CM... e que confusão vai dar as ligações provocadas pela versão 12...

publicado por pinguinsmagicos às 07:57editado por Fábio Teixeira em 12/10/2010 às 11:39

Aindo o pseudo-standard OOXML...

12.07.07

No seguimento do meu post anterior (http://pinguinsmagicos.blogspot.com/2007/07/avaliao-do-ooxml-como-norma-iso.html), fez-se mais uma descoberta excelente sobre este bellissimo wannabe standard:
http://www.robweir.com/blog/2007/07/formula-for-failure.html

Nas funções trignométricas da Open XML SIN (Part 4, Section 3.17.7.287), COS (Part 4, Section 3.17.7.50) e TAN (Part 4, Section 3.17.7.313) esqueceram-se de indicar se os seus argumentos são ângulos expressos em radianos ou graus (retirado do blog http://aindaapensar.blogspot.com), isto entre outras pérolas....

Portanto se a questão da comissão técnica para aprovação do OOXML for só pelas questão verdadeiramente técnicas da especificação já são as datas, as expressões trigonométricas, o obrigar a ser compatível com formatos antigos fechados... Eu não consigo perceber como é que esta norma de treta pode alguma vez ser aprovada por pessoas com o mínimo de informação...

No TEK do sapo (http://tek.sapo.pt/4L0/756449.html) o Marco Santos da Microsoft defende o OOXML dizendo que "Só em Portugal já são 27 dos ISVs a trabalhar com open XML. "... ora é óbvio que as empresas "patrocinadas" pela Microsoft vão usar a norma.. tal como também já geravam documentos office pelo formato fechado... mas qual é a novidade??? Empresas como a Primavera e a PHC naturalmente que defendem o OOXML porque todo o seu negócio roda à volta de produtos Microsoft e não iam agora dizer mal desses produtos... Constatar o óbvio parece ser uma forma de defender o formato.. visto não arranjarem vantagens técnicas...

Segunda feira se verá se Portugal mais uma vez cairá aos pés da Microsoft ou se pelo menos desta vez conseguirá mostrar que é mais do que um vassalo desta...

Um questão? Quantos novos vogais vão ser propostos para a comissão técnica pela Microsoft e de que empresas? Quantos desses serão ministros ? é uma dúvida interessante.. afinal da última vez que o Bill Gates cá esteve foram 8 ministros...

tags:
publicado por pinguinsmagicos às 08:26editado por Fábio Teixeira em 12/10/2010 às 11:39

How To Scale a Web Application

09.07.07

Aqui fica uma apresentação feita por Cuong Do. Esta apresentação mostra a evolução do desenvolvimento do youtube e as soluções que foram utilizadas para manter a disponibilidade do site elevada.
Esta apresentação foi feita na Seattle Conference on Scalability.



publicado por pinguinsmagicos às 18:42editado por Fábio Teixeira em 12/10/2010 às 11:42

Novo site do Min. Economia e Inovação

09.07.07

Boas!

Não sei se já alguém reparou, mas o MEI tem um novo sítio e, como indicado numa das páginas de ajuda, deveria funcionar em Firefox. No entanto, quando se começa a navegar percebe-se que isso não é bem verdade. Por exemplo, percebi que existia um menu lateral (esquerdo) quando passei com o rato por cima sem querer.

Juntamente com o novo site foi lançado também o sítio para o evento Por TI 2007, um evento sobre as tecnologias de informação em Portugal onde a Caixa Mágica terá presença. Este sítio tem indicado explicitamente no fundo das páginas que foi desenvolvido para o Internet Explorer, nem sequer consideraram a hipótese de suportar outros navegadores de internet.

Para quem ainda não conheça o evento, o link para o sítio é:
http://prototipo.edigma.com/porti/public/#

tags:
publicado por pinguinsmagicos às 13:52editado por Fábio Teixeira em 12/10/2010 às 11:42

Bounty Firefox: atirar a toalha ao tapete...

08.07.07

Introdução
Construir uma dist de Linux, na CMS e no O2H Lab, é por vezes olhar um pouco mais além. É por isso que os pinguins mágicos são envolvidos e apoiados em idas a conferências, formação e desafios intelectualmente exigentes.
Lancei o desafio ao Mário Morgado de durante 3 dias olhar comigo para o bounty de 1.000 euros do Firefox.
Ao fim dos 3 dias, tínhamos evoluído bastante.
Continuei mais 5 dias a a horas desaconselháveis de madrugada e aqui fica o resultado.

O problema prendia-se com um certificado que, aparentemente bem assinado, mas que não era comido pelo Firefox apesar de ser comido pelo openssl, IE,... Refs uteis: 1,2 e 3.

Quando se acede a: https://private.eu2007.pt/, o servidor envia 3 certificados para confirmar a chain de segurança (ou seja, para validar que o site é mesmo quem diz que é...).
[CERT01] certificado do private.eu.pt assinado pela ECCE
[CERT02] certificado da ECCE assinado pela ECRaizEstado
[CERT03] certificado da ECRaizEstado assinado pela GTE CyberTrust Global Root

A GTE é uma root CA pelo que o certificado não era enviado e está obviamente built-in no browser.

Já agora, eu e o Mário utilizámos uma ferramenta que não vi ainda descrita em nenhum sitio:
nss-3.7.2/bin//ssltap -f -sx -p 2004 private.eu2007.pt

Que faz "tapping" da ligação e que depois permite ligar um browser à porta desejada (2004) e sacar os certificados enviados. Isto foi útil para logo desde início ter os certificados...
Já agora, um exemplo do início de um certificado:
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
00:82:ba:51:07:ea:43:b1:46:7c:08:ce:5b:23:0a:72
Signature Algorithm: PKCS #1 SHA-1 With RSA Encryption
Issuer: CN=ECCE,OU=ECEstado,O=SCEE,C=PT
Validity:
Not Before: Fri Jun 22 17:37:18 2007
Not After: Sun Jun 22 17:37:18 2008
Subject: CN=private.eu2007.pt,OU=Missao Presidencia,O=Ministerio dos Negocios Estrangeiros,L=Lisboa,ST=Lisboa,C=PT


Identificação do problema

Após 3 dias, a comunidade não andou longe. O problema era que no certificado 2 o issuer tinha ECRaizEstado como sendo do tipo UTF8STRING mas no certificado 3 o subject ECRaizEstado estava como PRINTABLESTRING. Para isso utilizámos:
openssl asn1parse -inform DER -in cert.003

Eu e o Mário percebemos isto quando carregámos o certificado raíz no browser http://www.scee.gov.pt/ecee/certificados/ECRaizEstado.crt e passou a aceitar o site. Ou seja, a quebra na chain tinha de ser ECRaizEstado - GTE.

Podemos ter interpretado mal, mas a identificação do problema não foi totalmente bem feita até ao momento.
Não é o encoding (ou seja, o processo de codificar o campo SubjectName ou Issuer em UTF / PrintableString) que está a dar problema.
É o tipo do campo ser utilizado para a hashtable e para o seu lookup.

Comprovar o problema
O que se passa é que o Firefox utiliza o subject name+types como key para a HashTable. Mas o SubjectName utilizado é o array de bytes directamente extraído do DER.
Exemplo:
data = 0x8fdc10e "\f\004SCEE1\0250\023\006\003U\004\003\f\fECRaizEstado0\036\027\r060703142700Z\027\r180623084947Z0>1\v0\t\006\003U\004\006\023\002PT1\r0\v\006\003U\004\n\f\004SCEE1\0210\017\006\003U\004\v\f\bECEstado1\r0\v\006\003U\004\003\f\004ECCE0\202\001\"0\r\006\t*\206H\206\uffff\r\001\001\001\005", len = 6}

1.- A primeira abordagem foi tentar "martelar" na função de encoding para um determinado tipo.
Estupidos. Claro que não resultou porque depois ele ia verificar a assinatura / integridade do certificado e estava errado.

2.- A segunda foi, na função nssCertStore_FindCertByIssuerAndSerialNumberLocked(), utilizando o gdb "martelar" em memória o valor do tipo do subject para PrintableString:
set {char } 0x8fd6e2f='\023'
set {char } 0x8fd6e20='\023'


Ou seja, se virem acima, antes de ECRaizEstado existe dois bytes representandos em char como "\f\f". O primeiro deles é o tipo e '\f' é o SEC_ASN1_UTF8_STRINGE e o '\023' é o 'SEC_ASN1_PRINTABLE_STRING'.
Testando deu:


Touché.
Tínhamos a root chain completa e a possível solução.
Era então escrever umas linhas de código e ir levantar o cheque! Sim.. Sim...Estúpidos...

Solução

1.- A primeira abordagem era construir o SubjectName utilizado na hash sem o campo "tipo".
Para tal, talvez fosse possível alterar o template ASN1 no certdb.c que era utilizado para ir buscar o subject ao DER:
const SEC_ASN1Template SEC_CertSubjectTemplate[] = {
. { SEC_ASN1_SEQUENCE,
0, NULL, sizeof(SECItem) },
[snip...]
{ SEC_ASN1_SKIP }, /* validity */
{ SEC_ASN1_ANY, 0, NULL }, /* subject */
{ SEC_ASN1_SKIP_REST },
{ 0 }

Mas não foi possível porque, do nosso conhecimento, não conseguimos evitar os campos type no subject utilizando o mecanismo de templating. Mesmo com algumas tentativas com offset's (mas os campos type estão salteados dentro do subject, recordamos que existem vários subcampos no subject como CN=, OU=,O=...) ou com substructs.

2.- Mas se o openssl funcionava bem, porque não o código nss do Firefox?
Porque o openssl não guarda o campo "type" para efeitos de comparação.
A segunda abordagem passou por ir alterar o código para passar a guardar o subject apenas com o seu conteúdo (payload) em ASCII e não os bytes payload+type do subject do DER.
Mexeu-se no certdb.c, pkistore.c e stanpcertdb.c (links para patch) para passarem a criar um hash com base no payload e não no type+payload.
E funcionou... até ao certificado GTE, isto é ao que está built-in no browser.
Ou seja, os certificados pré-incluídos são guardados numa hash em cache que não é a mesma.
Era preciso que esta cache fosse criada também só com o payload....

Conclusão
Objectivamente, os patches atrás não resolvem o problema porque os certificados built-in são guardados em cache a partir do campo DER e portanto depois não fazem matching com o hash guardado apenas com o payload em ASCII.
Pode ser que alterar isto para a cache ser criada da mesma forma fosse mais 1 dia. Mas poderia ser mais 8. E também não temos a certeza que fosse aceite upstream.
Não podendo trabalhar nisto durante o dia após os 3 dias estabelecidos (sim, porque a Caixa Mágica e os projectos não param) implicou-me trabalhar à noite após os miúdos se deitarem e antes de acordarem.
Foi bom para recordar certificados x.509, ASN1, DER,...
Mas valeu mais do que pelo conhecimento gerado e o mérito vai para quem lançou a iniciativa, o Mário Valente.
As nossas instituições, e o Plano Tecnológico, por exemplo, acham que a enorme força da comunidade e indústria open source pode ser totalmente aproveitada utilizando os métodos antigos. Tal como fazer um protocolo com a MS, podia-se fazer um protocolo com o Software Aberto / Livre.
Não é assim. Tem de se compreender o ecosistema.
E quem achar que um bounty é desafiante apenas pelo dinheiro não compreende esse ecosistema. É desafiante pelo hacking. É desafiante para afirmarmos as nossas competências. É desafiante para chegar primeiro.
Um bounty é apenas a ponta do icebergue. Esta comunidade tem muito mais para dar. É apenas saber pedir.

publicado por pinguinsmagicos às 22:50editado por Fábio Teixeira em 12/10/2010 às 11:43

Avaliação do OOXML como norma ISO

06.07.07

O OOXML é a "pseuda" norma ISO que a Microsoft está a propor para documentos office.
Parecem estar algo esquecidos que já existe uma norma ISO que define esse formato, a ODF, isto apesar de a organização que criou esse formato (A OASIS, que demorou 5 anos a criá-lo ) ter como um dos membros a própria Microsoft... e assim sendo porque é que a Microsoft não colocou o que acha que são as especificações que o OOXML traz como mais valias à consideração da norma ODF??? a mim parecia-me lógico não? mas deve ser só a mim...

Depois claro há aquele pequeníssimo detalhe de.. e vamos a ver se nos entendemos.... portanto, existe uma norma ISO, que define como devem ser especificados em XML documentos office que permitam a sua utilização independentemente da aplicação, sistema operativo, etc... E agora queremos aprovar uma nova norma que define como devem ser especificados em XML, documentos office que permitam a sua utilização independentemente da aplicação, sistema operativo, etc... é isto?

Eu sempre tive a ideia que se temos uma norma ISO é para que todos usem essa norma e todos possam tirar partido dessa tecnologia sem complicações... Vamos portanto ter duas normas ISO para a mesmo coisa... é muita lógico sim senhores... especialmente quando a segunda norma não tem provas dadas (o office 2007 não implementa o OOXML como está na especificação), possui uma especificação complicadissima, sem sequer possui XML totalmente válido, obriga a ser compatível com produtos antigos da empresa que a propõe que não possuem especificações abertas (esta é mesmo de morte...) ....

Bem.. eu podia continuar aqui a escrever eternamente.. por isso vamos lá ao tópico do post...

Seja como for, está a ser criada uma comissão técnica em Portugal para decidir qual vai ser o sentido de voto de Portugal a nível da aprovação ou não da norma ISO que deverá implementar o OOXML.

Podem ver aqui, no blog do Mário Valente, o estado actual:
http://mv.asterisco.pt/cat.cgi?MS%20OOXML

Chamo particular atenção ao último parágrafo:

"Se houver por ai gente com credibilidade e vontade de pertencer à CT(Comissão Técnica), tenho todo o gosto em vos propor (emails para mvalente@itij.mj.pt), a ver se não me sinto tão sozinho ;-] Caso contrario depois não venham fazer posts em blogs a dizer que "ah e tal como é que se admite, Portugal é atrasado e assinou um protocolo e está tudo mal"... Os "outros" pelo menos estão presentes na CT e nas reuniões; fazer posts em blogs e conversar à hora da bica é fácil..."

A reunião da comissão técnica será dia 16 de Julho às 14:30 no Instituto de Informática.

Para concluir gostaria que alguém me desse uma (basta uma.. só uma.. mesmo pequenina...) razão para votar sim a esta norma ISO.

E para rirem um pouco sobre esta excelente especificação leiam isto (e querem que isto seja um standard...):
http://www.robweir.com/blog/2006/10/leap-back.html

publicado por pinguinsmagicos às 14:33editado por Fábio Teixeira em 12/10/2010 às 11:43

pesquisar

 

comentários recentes

  • Bueno!
  • Onde posso encontrar o Linux Caixa Magica 12 KitTe...
  • Boa noite, o Caixa Mágica 20 funciona nos process...
  • Boa tarde.Quando fazemos o registo aquando do down...
  • Á partida não, quem quiser pode instalar facilment...
  • Adorei o novo Linux Caixa Mágica está muito difere...
  • Que bacana seu blog! Gostei bastante!Se quiser dic...
  • Instalei, mas a entrada e partições dos discos, nã...
  • O software do cartão do cidadão está disponível na...
  • Foi uma apresentação bastante interessante.

subscrever feeds