FR/ EN
Sortie de la version 10.2.3 de RAD Studio !

Sortie de la version 10.2.3 de RAD Studio !

Hier, le 13 mars 2018, l’équipe d’Embarcadero a annoncé la sortie de la version 10.2 Tokyo, Release 3 (ou encore 10.2.3) de RAD Studio. Vous trouverez toutes les nouveautés ici : http://docwiki.embarcadero.com/RADStudio/Tokyo/en/10.2_Tokyo_-_Release_3 En tant que développeuse C++, j’ai hâte de tester le support de CMake, qui nous permettra de construire des bibliothèques tierces bien plus facilement. De plus, on pourra désormais renommer d’un seul clic un identifiant dans le code avec C++ Rename Refactoring. Pour celles et ceux qui ont la version Pro de RAD Studio, sachez que le pack mobile est maintenant directement inclus dans la version 10.2.3. Enfin, cette version inclue de nouveaux templates FMX, que l’on peut obtenir sur la plateforme de packages GetIt. Il y a bien sûr d’autres nouveautés que vous pouvez retrouver dans la vidéo ci-dessous...
Déployer une application sur le Windows Store

Déployer une application sur le Windows Store

Depuis la version RAD Studio 10.1 Berlin Update 2 Anniversary Edition, on peut créer un package .appx de son application afin de la soumettre au Windows Store. Pour créer le package, je vous conseille de suivre le tutoriel de Paweł Głowacki : Appx Development for Windows 10 Store. Je vais en traduire une partie en français, en rajoutant des éléments liés à ma propre expérience de création de package. Pour déployer une application appx, il faut Windows 10 (version minimum : Anniversary Update), RAD Studio 10.1 Berlin Update 2 Anniversary Edition ou une version suivante, et le SDK Windows 10. Ensuite, il faut activer le mode développeur sous Windows. Pour cela, il faut ouvrir l’application « Paramètres », cliquer sur « Mise à jour et sécurité », puis sur « Pour les développeurs », entrer le mot de passe administrateur si besoin et choisir « Mode développeur » dans « Utiliser les fonctionnalités de développement ». Cela peut prendre quelques minutes pour télécharger et installer les paquets nécessaires. L’étape suivante se déroule sur RAD Studio, vous devez configurer un nouveau SDK Windows 10. Rendez-vous dans « Outils – Options – Gestionnaire de SDK ». Ajoutez un nouveau SDK Windows. Il devrait trouver votre SDK automatiquement. Si ce n’est pas le cas, vous devez renseigner manuellement les chemins vers MakeAppx.exe, SignTool.exe et MakeCert.exe. Déploiement de test sur votre machine RAD Studio permet de tester localement votre appx sur votre machine. Pour cela, il faut créer un certificat et signer l’appx avec. Tout se passe dans « Projets – Options – Approvisionnement ». Choisissez « Ad-hoc » comme type de distribution et cliquez sur « créer un certificat auto-signé… ». Choisissez l’emplacement de votre fichier (attention il faudra savoir où...
La version 10.2.2 de RAD Studio est sortie !

La version 10.2.2 de RAD Studio est sortie !

Sarina Dupont a annoncé la sortie de RAD Studio 10.2.2 le 12 décembre.  C’est la mise à jour 2 de la version 10.2 Tokyo. Vous pouvez télécharger les versions pour les différents langages ici : Delphi : http://cc.embarcadero.com/reg/delphi C++ Builder : http://cc.embarcadero.com/reg/c_builder RAD Studio : http://cc.embarcadero.com/reg/rad_studio J’ai testé ce matin les nouveautés annoncées. Tout d’abord, le premier changement visible, c’est la possibilité de changer le thème de l’IDE, au départ, on a le choix entre le thème light ou dark. Mais en fait, on a bien plus de choix que ça ! Dans Outils -> Options -> Theme Manager on peut choisir Clair, Foncé ou Personnalisé. Le thème Dark, ça donne ça : Vous constaterez dans la palette d’outils que les icônes des composants ont subi un joli relooking. Du côté des fonctionnalités maintenant, il y a le support des FireMonkey Quick Edit (image ci-dessous), de nouveaux contrôles VCL, une licence de déploiement pour RAD Server dans les éditions Entreprise et Architecte et la correction de plus de 150 bugs. Vous pouvez voir toutes les nouveautés en action dans cette vidéo :...

Importer des clés RSA OpenSSL avec Delphi et Indy

OpenSSL est une bibliothèque de chiffrement open-source implémentant TLS et son prédécesseur SSL. Elle est massivement utilisée par les sites web en HTTPS. Certains composants Indy utilisent OpenSSL comme TIdServerIOHandlerSSLOpenSSL ou TIdSSLIOHandlerSocketOpenSSL. Attention, Indy utilise la version 1.0.2 d’OpenSSL qui n’est pas la dernière version. Dans cet article, on va utiliser les fichiers IdSSLOpenSSLHeaders et IdSSLOpenSSL d’Indy. Pour iOS, on aura aussi besoin de IdSSLOpenSSLHeaders_Static. Le but est d’importer les clés RSA contenues dans un fichier au format PEM afin de pouvoir les lire ou les utiliser par la suite. On va traiter trois cas : Une clé publique Un certificat Une clé privée (chiffrée ou non) Charger OpenSSL Pour utiliser la bibliothèque OpenSSL sous Windows, OSX ou iOS, il faut qu’elle soit installée sur votre machine. Embarcadero explique comment faire ici : http://docwiki.embarcadero.com/RADStudio/Tokyo/fr/OpenSSL Pour Android, il y a deux cas : – si vous avez une version < 6.0 alors vous n’avez rien à faire, OpenSSL est inclus par défaut. – si vous avez une version >= 6.0 alors il vous faut des fichiers libcrypto.so* et libssl.so* (par exemple, libcrypto.so.1.0.0). Il faut les déployer dans ./assets/internal pour qu’ils soient accessibles via GetDocumentsPath. Vous pouvez en trouver des versions ici : https://indy.fulgan.com/SSL/ Ensuite, il faut charger la bibliothèque dans votre programme. Les fonctions dont on va avoir besoin sont dans la partie crypto d’OpenSSL. On n’a pas besoin de charger la bibliothèque sous iOS car elle est liée statiquement au programme. function TFromOpenSSL.LoadSSLCryptoLibrary: HMODULE; begin {$IFDEF MSWINDOWS} Result := SafeLoadLibrary('libeay32.dll'); {$ELSE} {$IFDEF ANDROID} Result := LoadLibrary('libcrypto.so'); {$ELSE} {$IFNDEF IOS} Result := LoadLibrary('libcrypto.dylib'); {$ENDIF} {$ENDIF} {$ENDIF} end; Cette fonction est utilisée...

TMS Cryptography Pack 2.5.0.0 : Chiffrer un message en utilisant une clé dérivée d’un mot de passe

Cet exemple utilise les algorithmes Argon2d, ed25519 et AES avec les composants TArgon2KeyDerivation, TECCEncSign et TAESEncryption. Alice veut envoyer un message à Bob, donc elle possède sa clé privée (il utilise l’algorithme ed25519). Le mot de passe peut être demandé à Alice en utilisant une boîte de dialogue. Alice utilise la fonction suivante pour chiffrer un message à Bob : function EncryptMessageToBob(password: string; input: string; BobPublicKey: string): string; var aesKey: string; eccCipher, aesCipher : string; begin Argon2.StringSalt := '0123456789012345'; Argon2.outputFormat := raw; aesKey := Argon2.GenerateKey(password); ECC.PublicKey := BobPublicKey; eccCipher := ecc.Encrypt(aesKey); aes.Key := aesKey; aesCipher := aes.Encrypt(input); Result := eccCipher + '+' + aesCipher; end; Pour déchiffrer le message d’Alice, Bob utilise la fonction suivante : function DecryptMessageFromAlice(input: string; BobPrivateKey: string): string; var eccCipher, aesCipher: string; aesKey: string; begin eccCipher := input.subString(0, Pos('+', input) - 1); aesCipher := input.subString(Pos('+', input), input.Length); ECC.PrivateKey := BobPrivateKey; aesKey := ecc.Decrypt(eccCipher); aes.Key := aesKey; Result := aes.Decrypt(aesCipher); end; Pour les messages suivants, Alice et Bob peuvent enregistrer la clé aesKey et ne pas envoyer la chaîne eccCipher. Syntaxe du code grâce à...