Mobil imza istemci API'si ESYA imzalama API'si paketi içindeki infra modülü içerisinde bulunur. İmza oluştururken mobil imza kullanımındaki tek fark, akıllı kart erişim işlemlerinde olmaktadır. Akıllı kart yerine cep telefonu kullanılıyor gibi düşünülebilir. Aşağıdaki örnek kod istemci tarafında mobil imza kullanarak imza atmaktadır. Sadece gri renkli işlemler normal imzalama işleminden farklıdır.
BaseSignedData bs = new BaseSignedData(); bs.addContent(new SignableByteArray("test".getBytes())); HashMap<String, Object> params = new HashMap<String, Object>(); ValidationPolicy policy= PolicyReader.readValidationPolicy(new FileInputStream(POLICY_FILE)); params.put(EParameters.P_CERT_VALIDATION_POLICY, policy); MSSPClientConnector connector = null; //Create a communication interface for your system. UserIdentifier user = new PhoneNumberAndOperator("05336564727", Operator.TURKCELL); ECertificate cert = connector.getCertificates(user)[0]; BaseSigner mobileSigner = new MobileSigner(connector, user, cert, "Doc1234 numaralı dökümanı imzayı onaylıyorum.", Algorithms.SIGNATURE_RSA_SHA1, null); bs.addSigner(ESignatureType.TYPE_BES, cert , mobileSigner, null, params); //write the contentinfo to file AsnIO.dosyayaz(bs.getEncoded(),SIGNATURE_FILE);
Sunucu API'si ve istemci API'si arasındaki iletişim için MSSPClientConnector
arayüzü tanımlanmıştır. Sunucu API'sinin ihtiyacı olan bilgiler bu arayüz üzerinden gönderilecektir. Farklı teknolojilerle bilgiler iletilebileceğinden burada sadece bir arayüz tanımlanmıştır. API kullanıcıları kendi sistemlerine özgü bir iletişim altyapısı kurabilirler.